在访问一个https的站点,比如Chrome HSTS异常导致无法访问HTTPS网页,首次访问时,访问的地址是 ,(不加S),出现的是网站不可用,打不开,再次使用https进行访问,就能正常打开。随后在使用http协议进行访问,会自动重定向到https的域名,这是浏览器缓存之后自动重定向的行为,或者是服务器端没有做好http到https站点的重定向?
其实是这样的Chrome HSTS异常导致无法访问HTTPS网页,第一次访问http页面,由于服务器端没有做好301重定向,所以出现链接断开无法访问,第二次正常访问https站点时,支持HSTS的浏览器响应头含有--: max-age=;意思是在接下来的一年(即秒)中,浏览器只要向xxx或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 ,浏览器应当自动将 http 转写成 https,然后直接向 发送请求。
浏览器支持
HSTS对浏览器的支持不尽相同:
和 从4.0.211.0版本开始支持HSTS
4及以上版本
Opera 12及以上版本
从OS X 起
从 10技术预览版开始支持,之后微软又向IE11用户推送了支持HSTS的更新。
评论留言