首页 > 其他分享 >关于 HTTP 响应头字段 Strict-Transport-Security

关于 HTTP 响应头字段 Strict-Transport-Security

时间:2023-08-13 13:00:28浏览次数:53  
标签:浏览器 HSTS 网站 Strict HTTPS 头字段 HTTP Security Transport

在Chrome开发者工具的Network面板里,当观察到一个请求的Response Header字段名称为"Strict-Transport-Security",并且其值为"max-age=31536000; includeSubDomains; preload"时,这代表网站启用了严格传输安全(Strict Transport Security,HSTS)策略。HSTS是一种安全机制,旨在提高网站的安全性,防止恶意攻击者通过中间人攻击和SSL剥离等方式来劫持或劫持用户的连接。

本文详细解释这个HSTS策略,以及它的各个部分的含义。

  1. HSTS(Strict Transport Security)简介:
    HSTS是由IETF(Internet Engineering Task Force)定义的安全策略,旨在强制客户端(例如浏览器)始终通过HTTPS协议与服务器进行通信,从而增强通信的安全性。通过启用HSTS,网站告知浏览器在未来一段时间内(由"max-age"指定),只能使用HTTPS与该网站进行通信,任何尝试使用HTTP的请求都将被浏览器自动转换为HTTPS请求。

  2. HSTS的响应头部字段:
    当网站启用HSTS策略后,服务器将在HTTP响应头部中添加一个名为"Strict-Transport-Security"的字段,以通知客户端该策略的相关信息。

  3. max-age指令:
    "max-age"指令是HSTS策略中的一个必需字段,它定义了浏览器应该记住HSTS信息的时间,以秒为单位。在你的例子中,"max-age=31536000"表示浏览器应该记住HSTS信息并强制使用HTTPS连接的时间为一年(即31536000秒)。

  4. includeSubDomains指令:
    "includeSubDomains"是一个可选的指令,它告诉浏览器HSTS策略应该适用于所有子域名。这意味着一旦用户访问了主域名并收到HSTS头部,浏览器将在未来一段时间内(由max-age指定)仅通过HTTPS与该主域名及其所有子域名进行通信。

  5. preload指令:
    "preload"也是一个可选的指令,它告诉浏览器将该网站添加到HSTS预加载列表中。HSTS预加载列表是由浏览器维护的一个列表,其中包含了一些被广泛认可并且信任的网站,这些网站始终只能通过HTTPS进行访问,即使用户之前从未访问过这些网站。一旦网站被添加到预加载列表,即使用户清除了浏览器缓存,HSTS信息也将一直有效。

示例说明:
假设有一个名为"example.com"的网站启用了HSTS,并在响应头部中包含了"Strict-Transport-Security"字段,并且其值为"max-age=31536000; includeSubDomains; preload"。

  1. 用户首次访问example.com:
  • 用户在浏览器中输入"http://example.com"并访问该网站。
  • 服务器返回的响应头部包含"Strict-Transport-Security"字段,浏览器收到值为"max-age=31536000; includeSubDomains; preload"的HSTS信息。
  • 浏览器记住该信息,并在接下来的一年内,自动将所有针对example.com和其所有子域名的请求重定向到HTTPS协议(例如"https://example.com")。
  1. 攻击者尝试中间人攻击:
  • 攻击者试图通过劫持用户的HTTP请求并将其重定向到HTTP连接(例如"http://example.com"),以进行中间人攻击。
  • 由于浏览器记住了HSTS信息,它会自动将所有针对example.com和其子域名的请求重定向到HTTPS,从而阻止了攻击者的中间人攻击。
  1. 预加载:
  • 如果"example.com"网站已被添加到浏览器的HSTS预加载列表中("preload"指令),即使用户在首次访问之前从未访问过该网站,HSTS策略也将始终生效,确保所有通信都通过HTTPS。

总结

当你在Chrome开发者工具的Network面板中看到一个请求的Response Header字段"Strict-Transport-Security"的值为"max-age=31536000; includeSubDomains; preload"时,这表示网站已启用HSTS策略,浏览器将自动强制使用HTTPS连接与该网站进行通信,并且该策略可能适用于所有子域名,而且该网站可能已被添加到浏览器的HSTS预加载列表中。这些措施有助于提高网站的安全性,防止恶意攻击,并确保用户的连接是加密和安全的。

标签:浏览器,HSTS,网站,Strict,HTTPS,头字段,HTTP,Security,Transport
From: https://www.cnblogs.com/sap-jerry/p/17626413.html

相关文章

  • C#多线程环境下调用 HttpWebRequest 并发连接限制
    .net的HttpWebRequest或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如windowsxp,windows7下默认是2,在服务器操作系统上默认为10.如果不修改这个并发连接限制,那么客户端同时可以建立的http连接数就只有2个或10个。对于一些诸如浏览器或网络......
  • oracle归档日志暴增原因分析,Oracle归档日志满导致数据库性能异常慢 转发 https://b
    ============= oracle数据库archivelog暴增分析====================前言归档量突然增长到981G/天,导致归档目录使用率告警归档日志量异常暴增会导致磁盘空间爆满,数据库异常1、归档日志量统计SELECTTRUNC(FIRST_TIME)"TIME",SUM(BLOCK_SIZE*BLOCKS)/1024/1024/102......
  • HTTP报文格式
    前言:由于http报文这块学的很浅,导致有些报文看不懂,所以单独开个新博客来总结以下1HTTP报文1.1http报文结构http报文都是以ascll码表形式传输的,对于非ascll码表支持的文字,用多个特殊的ascll码字符组合来代表。比如对中文等全角字符,都会使用多个特殊的ascll码来传输1.1.1请......
  • 爬虫使用HTTP代理IP考虑的因素有哪些
    HTTP代理IP在数据采集和网络爬虫当面发挥着重要的作用,那么使用HTTP代理IP进行爬虫时,有哪些是需要注意的呢,以下是几点需要特别注意的:1、选择可靠的HTTP代理IP供应商或者HTTP代理IP池,确保提供的代理IP质量稳定可靠。一般情况下,HTTP代理IP服务商都提供免费测试,也可以通过查看评价来评......
  • lazarus、delphi文件Http下载断点续传的实现
    下载大文件时,断点续传是很有必要的,特别是网速度慢且不稳定的情况下,很难保证不出意外,一旦意外中断,又要从头下载,会很让人抓狂。断点续传就能很好解决意外中断情况,再次下载时不需要从头下载,从上次中断处继续下载即可,这样下载几G或十几G大小的一个文件都没问题。本文介绍利用minifra......
  • IIS8.5 Error Code 0x8007007e HTTP 错误 500.19的解决方法
    windowserver2012R2IIS8.5引用:https://www.52jbj.com/yunying/340443.htmlHTTP错误500.19-InternalServerError  无法访问请求的页面,因为该页的相关配置数据无效。    详细错误信息    模块DynamicCompressionModule    通知SendResponse    处......
  • nginx源码分析之http解码实现
    分析nginx是如何解析并且存储http请求的。对非法甚至恶意请求的识别能力和处理方式。可以发现nginx采用状态机来解析http协议,有一定容错能力,但并不全面相关配置 跟解码有关的配置 merge_slashes 语法merge_slasheson|off默认值on上下文httpserver说明支持解析请求行时,合并相......
  • lua读写http
    example.conf配置文件 1.location~/lua_request/(\d+)/(\d+){2.#设置nginx变量3.1;4.set$b$host;5."text/html";6.#nginx内容处理7.content_by_lua_file/usr/example/lua/test_request.lua;8.#内容体处理完成后调用9......
  • Http 文件服务器搭建 —— 作为 Unity Addressable 远程服务器使用
    方式一通过HFS:HFS-超好用的本地文件分享利器,快速从电脑传文件到手机等设备 方式二通过IIS:WindowIIS搭建Http文件服务器    ......
  • XMLHttpRequest发送请求报错:Failed to execute 'send' on 'XMLHttpRequest': Failed t
    1、问题源:url:http://localhost:8099/api/testconstxhr=newXMLHttpRequest();xhr.open('post',url,false);xhr.setRequestHeader("Content-type","application/json");varstr=JSON.stringify(uid)xhr.send(str);......