减少网站跳转时间,增强网站数据安全——HSTS 详解
近年来随着 Google、Apple、百度等公司不断推动 HTTPS 普及,全网 HTTPS 已是大势所趋。目前多数网站都已经支持 HTTPS 访问,但是在由 HTTP 转向 HTTPS 路程中,不少网站依然会面临很多问题。
通常用户准备访问某个网站时,不会在输入的域名前面加上 http:// 或者 https://,需要浏览器自动填充,而浏览器默认填充的都是 http://,需要网站采用 301/302 跳转的方式,由 HTTP 跳转到 HTTPS。
301 跳转
由于 301/302 跳转增加了浏览器与服务器的交互,增长用户访问与等待时间,会影响用户体验,并且跳转的过程容易发生劫持,遭受第三方攻击。
当用户访问到不安全的 HTTPS 网址时,浏览器虽然会提示用户访问的网站不安全,但是还是允许用户在了解安全风险之后继续访问,导致用户面临数据泄密的风险。
HTTP 劫持
网站不安全提醒
HSTS 强制开启 HTTPS 保障数据安全
HSTS(HTTP Strict Transport Security,RFC6797),即 HTTP 严格安全传输,是国际互联网工程组织 IETF 正在推行一种新的 Web 安全协议。
网站采用 HSTS 后,用户访问时无需手动在地址栏中输入 HTTPS,浏览器会自动采用HTTPS 访问网站地址,从而保证用户始终访问到网站的加密链接,保护数据传输安全。同时只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用 HTTPS,即使链接被换成了 HTTP。
当链接非 HTTPS 时,用户也无法忽略浏览器不安全提示,无法继续访问不安全链接,可以进一步保护用户的数据安全。
链接不安全提醒
开启 HSTS 后,在 ssllabs 上进行测试,网站的安全等级会从A升级至A+
开启前等级为:A
开启后等级变为:A+
Chrome、Safari、Firefox等浏览器都已经开始相继支持 HSTS,下图为各大浏览器对HSTS的支持情况(对于不支持的浏览器,又拍云会忽略此响应头,对用户的访问无影响):
浏览器支持情况
总结
对于那些安全性要求较高的网站,启用 HSTS 无疑是不错的选择。当用户访问网站域名时,都能够让用户使用 HTTPS 来请求网站资源,可以更加有效地保护网站和用户的数据安全,并且减少用户等待 301/302 的跳转时间,带来更好的用户体验。
又拍云 HTTPS 凭借全球200+节点及服务器,实现应用层通信加密访问,同时使用多种加速技术,减少HTTPS 延迟加载,通过对请求进行压缩、优先级排列等方式,降低网页加载时间。
来自:upyun.com