5. HSTS Mechanism Overview (HSTS机制概述)
本节概述HSTS主机向UAs传达其HSTS策略以及UAs如何处理从HSTS主机接收的HSTS策略的机制. 机制细节在第6节到第15节中规定.
5.1 HSTS Host Declaration (HSTS主机声明)
HTTP主机通过向UAs发出HSTS策略来声明自己为HSTS主机, 该策略由Strict-Transport-Security HTTP响应头字段表示并通过安全传输 (例如, TLS) 传达. 在符合标准的UA无错误地接收和处理此头字段后, UA将该主机视为已知HSTS主机 (Known HSTS Host).
5.2 HSTS Policy (HSTS策略)
HSTS策略指示UAs仅通过安全传输与已知HSTS主机通信, 并指定策略保留时间持续时间.
HSTS策略明确覆盖UA对URI引用、用户输入 (例如, 通过"位置栏") 或其他信息的处理, 这些信息在没有HSTS策略的情况下可能会导致UAs与已知HSTS主机进行不安全通信.
HSTS策略可以包含一个可选指令 -- includeSubDomains -- 指定此HSTS策略也适用于域名是已知HSTS主机域名的子域的任何主机.
5.3 HSTS Policy Storage and Maintenance by User Agents (UAs的HSTS策略存储和维护)
UAs严格基于颁发HSTS主机的域名存储和索引HSTS策略.
这意味着UAs将任何给定HSTS主机的HSTS策略与域名是给定HSTS主机域名的父域或子域的任何其他HSTS主机发出的任何HSTS策略分开维护. 只有给定的HSTS主机可以更新或导致删除其发出的HSTS策略. 它通过向UAs发送具有策略时间持续时间和子域适用性的新值的Strict-Transport-Security HTTP响应头字段来实现这一点. 因此, UAs代表HSTS主机缓存"最新的" HSTS策略信息. 指定零时间持续时间向UA发出删除该HSTS主机的HSTS策略 (包括任何断言的includeSubDomains指令) 的信号. 有关详细信息, 请参见第8.1节 ("Strict-Transport-Security Response Header Field Processing"). 此外, 第6.2节介绍了Strict-Transport-Security HTTP响应头字段的示例.
5.4 User Agent HSTS Policy Enforcement (用户代理HSTS策略执行)
当建立到给定主机的HTTP连接时, 无论如何触发, UA检查其已知HSTS主机缓存, 以查看是否有任何域名是给定主机域名的父域的主机. 如果找到任何, 并且其中任何断言了includeSubDomains指令, 则HSTS策略适用于给定主机. 否则, 仅当给定主机本身被UA已知为HSTS主机时, HSTS策略才适用于给定主机. 有关详细信息, 请参见第8.3节 ("URI Loading and Port Mapping").