了解最新的网站建设动态、行业资讯和技术分享
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.com 或 e926.com 时,这就给了中间人攻击的一个机会,重定向会可能会被破坏,从而定向到一个恶意站点而不是应该访问的加密页面。HTTP 严格传输安全(HSTS)功能使 Web 服务器告知浏览器绝不使用 HTTP 访问,在浏览器端自动将所有到该站点的 HTTP 访问替换为 HTTPS 访问。
即使你打开网站看到的是全站 HTTPS 状态 ,你是因为我们在服务器上做过301/302 跳转到 https://www.e926.com这个地址的, HTTPS 网站的做法是对用户的 HTTP 访问做 302 跳转到 HTTPS,并重新建连。
那么问题也就来了,在这个跳转的过程中就有两个不足之处:
HSTS 的出现就是解决这些问题的。HSTS 的作用除了节省 HTTPS 通信 RT 和强制使用 HTTPS ,还包括:
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 所需条件:
同时输出的 HSTS 响应头部需要满足以下条件:
一个典型满足 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 存在的坑
写在最后:HSTS 在全站 HTTPS 下有一个较大的正向作用,推荐使用。
在合肥做实体生意或者线上业务的朋友应该都深有体会,现在获客真是越来越难了。线下门店靠周边客流撑着,辐射范围就那么几公里,想扩大生意只能不断投传单、做地推,成本高不说,转化效果还特别不稳定;线上要是只靠短视频、朋友圈宣传,流量来得快散得也快,客户刷过去可能就忘了你家业务,很难沉淀下长期稳定的客源。不少老板跟风做过普通展示型官网,花了钱搭好页面之后就扔在一边,常年没人打理,百度搜相关关键词根本找不到自...
2026-06-25不少中小企业想搭建官网,却苦于不懂设计、不会代码、不清楚域名服务器备案流程,单独对接多方服务商费时费力还容易踩坑,选择一站式全包的企业网站制作服务,就能从前期策划、页面设计、程序开发,到域名购买、服务器部署、网站备案、正式上线全程托管,企业只需提供品牌资料,其余所有环节交由网站建设公司梦扬科技全权处理。一、一站式全包包含哪些核心服务1前期品牌策划与方案定制建站前先沟通企业行业、业务范围、目标客户、...
2026-06-25不少中小企业打算搭建官网的时候,最先纠结的问题就是,到底该找一家什么样的网站制作公司合作?身边不少同行踩过坑,要么是低价做完模板网站,后期到处是隐形收费,要么就是交付之后找不到售后人员,网站出现卡顿、打不开的问题没人处理,白白浪费了建站预算不说,还耽误了线上获客的好时机。其实想要避开这些麻烦,找一家靠谱的网站制作公司,选择企业官网定制一站式服务,才是省心又稳妥的方式。现在线上获客已经成为企业拓客的...
2026-06-23很多合肥中小企业在建站时,都有过这样的糟心经历:随便在网上找外地的网站开发团队,前期沟通全靠线上打字、发语音,需求讲不清、对方理解偏差,做出来的网站和预期天差地别。最麻烦的是售后阶段,网站打不开、排版出错、功能故障、需要微调内容时,外地团队响应拖沓,甚至找不到人处理,小问题拖成大麻烦,直接影响企业线上形象和客户咨询转化。这也是现在越来越多合肥企业,优先选择本地网站开发公司梦扬科技的核心原因,同城沟...
2026-06-23不少中小企业负责人在准备做官网时,最先关心的就是网站制作费用,网上报价从几百到几万参差不齐,很容易让人眼花缭乱。结合多年网站开发的行业经验,今天梦扬科技给大家讲讲不同类型企业网站的收费标准,以及报价差距背后真正的区别,避免大家踩坑花冤枉钱。市面上中小企业建站主要分为三种模式,第一种是模板官网,价格基本在10005000元年,也是小微企业初期最常选的方案。依托成熟的建站模板,只需要替换企业、产品图文...
2026-06-22在合肥做企业线上推广,不少老板都踩过同一个坑:先随便找家公司做完网站,上线之后再花钱做优化,折腾大半年,收录差、排名上不去,想整改又要大幅度修改代码,费时费钱还容易导致网站降权。从业这么多年我一直建议本地中小企业,做合肥网站建设时直接同步布局,从网站开发阶段打好优化基础,后期关键词排名才能走得稳、抗算法波动能力更强。很多人误以为就是上线之后写写文章、发发外链,其实真正高效的优化,从网站策划、页面设...
2026-06-22服务热线
0551-64935250
173-5299-0310
177-1819-5595
微信咨询
微信咨询
在线留言