网站建设

网站建设

了解最新的网站建设动态、行业资讯和技术分享

关于HSTS安全协议的全面详细解析

2023-04-27 网站建设 8150 次阅读

HTTP 严格传输安全(HSTS)是一种安全功能,web 服务器通过它来告诉浏览器仅用 HTTPS 来与之通讯,而不是使用 HTTP。HSTS 是网站从 HTTP 到 HTTPS 中网站性能及安全优化非常重要的一个步骤,能够解决和兼容 HTTPS 中的一些不足之处。HSTS 在全站 HTTPS 下有一个较大的正向作用,推荐使用。

一、HSTS 是什么?

国际互联网工程组织 IETE 正在推行一种新的 Web安全协议HTTP Strict Transport Security(HSTS)。采用 HSTS 协议的网站将保证浏览器始终连接到该网站的 HTTPS 加密版本,不需要用户手动在 URL 地址栏中输入加密地址。该协议将帮助网站采用全局加密,用户看到的就是该网站的安全版本。

HSTS 的作用是强制客户端(如浏览器)使用 HTTPS 与服务器创建连接。服务器开启 HSTS 的方法是,当客户端通过 HTTPS 发出请求时,在服务器返回的超文本传输协议响应头中包含 Strict-Transport-Security 字段。非加密传输时设置的 HSTS 字段无效。

HTTPS 最典型的用户访问过程

通常我们访问一个网站时,一般在浏览器中只输入网站地址,而不输入协议名。比如访问合肥网站建设公司梦扬科技网站,如果直接输入网址 https://e926.come926.com 时,这就给了中间人攻击的一个机会,重定向会可能会被破坏,从而定向到一个恶意站点而不是应该访问的加密页面。HTTP 严格传输安全(HSTS)功能使 Web 服务器告知浏览器绝不使用 HTTP 访问,在浏览器端自动将所有到该站点的 HTTP 访问替换为 HTTPS 访问。

即使你打开网站看到的是全站 HTTPS 状态 ,你是因为我们在服务器上做过301/302 跳转到 https://www.e926.com这个地址的, HTTPS 网站的做法是对用户的 HTTP 访问做 302 跳转到 HTTPS,并重新建连。

那么问题也就来了,在这个跳转的过程中就有两个不足之处:

  • 整个通信过程中的前两个 RT 是没有意义的;
  • 使用了不安全的 HTTP 通信,万一你是在提交敏感数据呢。

HSTS 的出现就是解决这些问题的。HSTS 的作用除了节省 HTTPS 通信 RT 和强制使用 HTTPS ,还包括:

  • 阻止基于SSLStrip 的中间人攻击;
  • 万一证书有错误,则显示错误,用户不能回避警告。

HSTS 的工作机制可描述如下:服务器端配置支持 HSTS 后,会在给浏览器返回的 HTTP 首部中携带 HSTS 字段。浏览器获取到该信息后,会将所有 HTTP 访问请求在内部做307跳转到 HTTPS,而无需任何网络过程,从而提高了兼容性,这个机制对于不支持 HTTPS 的搜索引擎来说也是非常友好的做法。

目前大部分浏览器对 HSTS 的支持已经相当完美,具体各浏览器和版本的支持情况可以在http://caniuse.com/#search=HSTS上查看。 但是 HSTS 是有缺陷的,第一次访问网站的客户端,HSTS 并不工作。 要解决这个问题,就要了解我们下面要讲解的 HSTS preload list。

HSTS preload list 是什么?

HSTS preload list 是 Chrome 浏览器中的 HSTS 预载入列表,在该列表中的网站,使用 Chrome 浏览器访问时,会自动转换成 HTTPS。Firefox、Safari、Edge 浏览器也会采用这个列表。

加入 HSTS preload list 所需条件:

  • 有效的证书;
  • 将所有 HTTP 流量重定向到 HTTPS;
  • 确保所有子域名启用 HTTPS,特别是 www 子域名。

同时输出的 HSTS 响应头部需要满足以下条件:

  • max-age 至少需要 18 周,10886400 秒
  • 必须指定 includeSubdomains 参数
  • 必须支持 preload 参数

一个典型满足 HSTS preload list 的响应头部为:Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

从申请到审核通过,时间在几天到几周不等。值得一提的是,从审核通过到正式加入到 Chrome 的 stable release 版本中还需要一段时间,因为要经过 canary、dev、beta 以及 stable progression。

HSTS 的优势及必要性

简单说就是强制客户端使用 HTTPS 访问页面。有效避免了中间人对 80 端口的劫持。但是这里存在一个问题:如果用户在劫持状态,并且没有访问过源服务器,那么源服务器是没有办法给客户端种下 Strict-Transport-Security 响应头的(都被中间人挡下来了)。

启用 HSTS 不仅仅可以有效防范中间人攻击,同时也为浏览器节省来一次 302/301 的跳转请求,收益还是很高的。我们的很多页面,难以避免地出现 http 的链接,比如 help 中的链接、运营填写的链接等,这些链接的请求都会经历一次 302,对于用户也是一样,收藏夹中的链接保存的可能也是 http 的。

307 状态码

在 GET、HEAD 这些幂等的请求方式上,302、303、307 没啥区别,而对于 POST 就不同了,大部分浏览器 都会 302 会将 POST 请求转为 GET,而 303 是规范强制规定将 POST 转为 GET 请求,请求地址为 header 头中的 Location,307 则不一样,规范要求浏览器继续向 Location 的地址 POST 内容。

而在 HSTS 中,307 可以被缓存,缓存时间根据 max-age 而定,一般建议缓存 1 年甚至更长。

HSTS 存在的坑

  1. 纯 IP 的请求,HSTS 没法处理,比如 http://2.2.2.2 , 即便响应头中设置了 STS,浏览器也不会理会(未测试)
  2. HSTS 只能在 80 和 443 端口之间切换,如果服务是 8080 端口,即便设置了 STS,也无效(未测试)
  3. 如果浏览器证书错误,一般情况会提醒存在安全风险,然是依然给一个链接进入目标页,而 HSTS 则没有目标页入口,所以一旦证书配置错误,就是很大的故障了
  4. 如果服务器的 HTTPS 没有配置好就开启了 STS 的响应头,并且还设置了很长的过期时间,那么在你服务器 HTTPS 配置好之前,用户都是没办法连接到你的服务器的,除非 max-age 过期了。
  5. HSTS 能让你的网站在 ssllab 上到 A+

写在最后:HSTS 在全站 HTTPS 下有一个较大的正向作用,推荐使用。

相关新闻推荐

网站搭建技术要点,稳定流畅是关键

网站搭建的品质,终究要靠技术实力支撑,而稳定与流畅,更是网站搭建的核心底线,掌握关键技术要点,才能筑牢网站运行的根基,避免出现加载卡顿、崩溃报错、适配异常等问题,让网站既能稳定承载访问流量,又能给用户带来流畅的浏览体验,真正发挥线上阵地的价值。在互联网快速发展的今天,用户对网站的容忍度越来越低,一款频繁卡顿、偶尔崩溃的网站,即便内容再优质、设计再精美,也会快速流失用户,甚至拉低企业品牌形象,因此,...

2026-03-09

中小企业网站开发,高性价比方案

网站开发是中小企业数字化起步的关键一步,高性价比的开发方案,既能满足品牌展示、客户对接、线上获客的核心需求,又能有效控制成本,让小预算也能做出专业好用的网站。很多中小企业在做网站时,常常陷入两难,要么担心价格太高超出预算,要么害怕低价建站质量太差、后期问题不断,而真正适合中小企业的性价比方案,从来不是一味追求低价,而是需求精准、功能实用、服务到位,让每一分投入都能产生实际价值。性价比高的网站开发,...

2026-03-09

中小企业如何选择合适的网站制作方案

网站制作是中小企业数字化起步的核心一步,选择一套合适的网站制作方案,不仅能精准匹配企业的预算与需求,更能让网站真正发挥品牌展示、客户对接的价值,避免盲目投入、返工浪费,成为中小企业低成本、高效率布局线上的关键。不同于大型企业有充足的预算和专业团队,中小企业在选择网站制作方案时,往往面临预算有限、需求繁杂、缺乏专业判断的困境,若盲目跟风选择高端定制或低价模板,都可能导致方案与自身需求脱节,无法实现预...

2026-03-09

新版网站制作,老旧网站升级改造方案

网站制作的迭代升级,是企业适配数字化发展、贴合用户需求的必然选择,新版网站制作与老旧网站升级改造,本质上是为企业线上阵地焕新赋能,通过优化设计、升级功能、完善内容,让网站摆脱老旧短板,重新成为企业品牌展示、客户对接、业务转化的核心载体。在技术快速迭代、用户需求不断升级的当下,很多企业的老旧网站已出现视觉过时、功能滞后、加载卡顿、适配性差等问题,不仅无法助力企业发展,还会拉低品牌形象、流失潜在客户,...

2026-03-07

网站开发核心要点:安全、速度、体验

网站开发的核心价值,在于打造兼具可靠性、高效性与易用性的线上载体,而安全、速度、体验正是支撑这一价值的三大核心要点,三者相辅相成、缺一不可,共同决定了网站的品质与长效价值,也是企业网站开发过程中必须坚守的核心原则。在数字化时代,网站已成为企业线上运营的核心阵地,无论是品牌展示、客户对接,还是业务转化,都离不开优质的网站作为支撑,而忽视任何一个核心要点,都可能导致网站无法发挥应有价值,甚至成为企业线...

2026-03-07

网站加速优化之图片的处理方式

在网站的构建和优化过程中,图片处理无疑是一个关键的环节,在网络传输过程中,图片往往占据了大部分的带宽,而一个加载速度慢的网站,会直接影响用户体验,甚至影响用户对于网站的满意度和忠诚度。因此,如何优化处理图片以加速网站的加载,是我们必须关注的问题。1使用正确的图像格式不同的图片格式有不同的特性。:通常用于彩色照片或具有丰富颜色的图像,它具有良好的压缩效果,但会牺牲一定的图像质量;:则适用于需要透明度...

2026-03-07

准备好开始您的项目了吗?

立即联系我们,获取专业的网站建设方案,让您的品牌在数字世界中脱颖而出