7. 安全考虑 (Security Considerations)
7.1. 428 需要前置条件 (Precondition Required)
428 状态码是可选的; 客户端不能依赖其使用来防止 "丢失更新" 冲突。
7.2. 429 请求过多 (Too Many Requests)
当服务器受到攻击或只是从单个方接收大量请求时,用 429 状态码响应每个请求将消耗资源。
因此,服务器不需要使用 429 状态码; 在限制资源使用时,仅断开连接或采取其他措施可能更合适。
7.3. 431 请求头字段过大 (Request Header Fields Too Large)
服务器不需要使用 431 状态码; 在受到攻击时,仅断开连接或采取其他措施可能更合适。
7.4. 511 需要网络认证 (Network Authentication Required)
在常见使用中,携带 511 状态码的响应不会来自请求 URL 中指示的源服务器。这带来了许多安全问题; 例如,攻击中间人可能会将 cookie 插入到原始域的命名空间中,可能会观察从用户代理发送的 cookie 或 HTTP 身份验证凭据,等等。
然而,这些风险并非 511 状态码所独有; 换句话说,不使用此状态码的强制门户会引入相同的问题。
另外,请注意,在安全套接字层 (SSL) 或传输层安全性 (TLS) 连接 (通常是端口 443) 上使用此状态码的强制门户将在客户端上生成证书错误。