iOS 10 明天发布,你怕了吗?

3个月前,我汇总了 iOS 10 中 Safari 的新特性,输出为《Safari 10 越来越像理想中的浏览器了》,嗯,Safari 10 对前端的支持确实令人欣慰。然而,还有一个非常重要的事情需要关注:

iOS 10 要求 app 必须启用ATS

ATS(App Transport Security)是苹果在 iOS 9/OS X 10.11 中开始引入的特性,旨在提高 app 的安全性,要求 app 的 HTTP 通信必须是加密的,而且还要求 HTTS 连接建立在 TLS 1.2 协议以上 (嗯,TLS 1.2 是目前最新的版本,它于 2008 年发布,在 2011 年发布了修正版,TLS 1.3目前还在草案中)

其实在 iOS 9 的时候,苹果就要求启用ATS了,但当时还可以用 NSAllowsArbitraryLoads 来避开从而让 app 可以继续访问 HTTP 网站,而从 2017 年 1 月 1 日开始,苹果开始禁用这项配置!也就是说,从此以后新提交的 APP ,只能访问 HTTPS 网络内容

而 Safari 10 作为 iOS 10 内置的官方 app,显然是要首当其冲的了,目测 Safari 10 依然可以访问非 HTTPS 的网站,但已经不能获取一些用户隐私的数据了,比如地理位置 ,而且不太确定什么时候会禁用对非 HTTPS 的访问。

还有,在 2017 年 1 月 1 日前,不确定非浏览器类 app 启用 NSAllowsArbitraryLoads 后是否还能通过审核,反正之后是肯定不行了吧。

所以可能有一天,微信或者 QQ 或者微博,在 iPhone 上,就不能访问非 HTTPS 的网站了。

另外,Chrome 桌面版已经开始限制非 HTTPS 网站的权限了,比如,从 Chrome 51 版本开始,非 HTTPS 网站就不能再获取用户的地理位置了,而从 Chrome 53 开始,会提示非 HTTPS 网站可能不安全。

所以,面对即将到来的限制非 HTTPS 大潮,你怕了吗?

快快部署 HTTP/2 吧!