是否有任何已知的HTTP客户端不支持相对重定向的情况?

Gro*_*uez 12 redirect http cross-browser http-headers

根据RFC 2616第14.30节,最初不支持相对重定向(即HTTP位置:标头中的相对URL).然而,这被描述为"规范中的错误",后来在RFC 7231第7.1.2节中进行了更改.因此,相对重定向现在是"官方支持的".

我的问题是:是否有任何已知的HTTP客户端(浏览器,工具,库......)支持相对重定向的情况?

更新: 或者,有效答案可以提供已知接受相对重定向的HTTP客户端的详尽列表以及版本号范围.

Mar*_*ler 4

我正在做一些研究,似乎实际上大多数浏览器(以及谷歌的搜索机器人)都支持该功能。但我无法获得明确的清单。最终可能存在大约 10000 个 http 客户端,每个客户端都有自己的方式来处理标头字段(有些甚至可能完全忽略它)。

由于 RFC 7231 相当新(2014 年),我的建议是不要指望它。遵循Postel 定律(“发送的内容要保守,接受的内容要自由”),我认为坚持明确的标准始终是一个好主意,只需将域添加到重定向中并不会有太大麻烦。

  • 我绝对不需要包含 10000 个客户的列表,但也许最常用的客户列表会有所帮助。关于 Postel:RFC 7321 实际上修改了编辑们认为的“[RFC 2616] 规范中的错误”,并且也有人认为这一直受到所有主要浏览器的支持。关于。“将域名添加到重定向并不麻烦”:这取决于情况。在我的用例(复杂的代理场景)中,服务器甚至不知道原始域**也不**(更重要)协议(代理也充当 https 隧道)。 (2认同)