附录 B. 强制门户引发的问题
由于客户端无法区分门户响应和其原本打算通信的 HTTP 服务器响应, 因此会出现若干问题. 511 状态码旨在帮助缓解其中一部分问题.
一个例子是浏览器通常用于标识正在访问站点的 "favicon.ico" [Favicon]. 如果某个站点的 favicon 是从强制门户而不是预期站点获取的 (例如因为用户未认证), 它通常会在门户会话结束后仍 "stick" 在浏览器缓存中 (多数实现会积极缓存 favicon), 从而看起来像是门户的 favicon "接管" 了合法站点.
另一个基于浏览器的问题出现在支持 Platform for Privacy Preferences [P3P] 时. 根据实现方式, 浏览器可能会将门户对 p3p.xml 文件的响应解释为服务器响应, 导致门户宣告的隐私策略 (或缺少隐私策略) 被解释为适用于预期站点. 其他基于 Web 的协议, 例如 WebFinger [WebFinger], Cross-Origin Resource Sharing [CORS], 和 Open Authorization [OAuth2.0], 也可能受到此类问题影响.
虽然 HTTP 最广泛地与 Web 浏览器一起使用, 但越来越多的非浏览应用也将其用作基础协议. 例如, Web Distributed Authoring and Versioning (WebDAV) [RFC4918] 和 Calendaring Extensions to WebDAV (CalDAV) [RFC4791] 都以 HTTP 为基础 (分别用于远程创作和日历). 在强制门户后方使用这些应用可能导致向用户显示虚假错误, 极端情况下还可能导致内容损坏.
类似地, 其他使用 HTTP 的非浏览器应用也可能受到影响, 例如 widgets [WIDGETS], 软件更新, 以及 Twitter 客户端和 iTunes Music Store 等专用软件.
需要注意的是, 有时人们认为使用 HTTP 重定向将流量引导到门户即可解决这些问题. 但是, 由于许多此类用途会 "follow" 重定向, 因而这并不是一个好的解决方案.