URL片段的最大长度(哈希)

问题描述 投票:20回答:3

URL的片段部分是否有长度限制(也称为哈希)?

url hash fragment-identifier
3个回答

14
投票

哈希只是客户端,因此HTTP的规则可能不适用于它。


8
投票

这取决于浏览器。我发现在safari,chrome和Firefox中,具有长哈希的URL是合法的,但如果它是发送到服务器的参数,则浏览器将显示414或413错误。

例如:像http://www.stackoverflow.com/?abc#{hash value with 100 thousand characters}这样的网址就可以了。并且您可以使用location.hash来获取javascript中的哈希值,但像http://www.stackoverflow.com/?abc&{query with 100 thousand characters}这样的URL将是非法的,如果您将此链接粘贴到地址栏中,将给出413错误代码并且消息为the client issued a request that was too long。如果这是网页中的链接,在我的计算机中,Nginx会响应414错误消息。

我不知道IE中的情况。

所以我认为,URL长度的限制只适用于传输或HTTP服务器,浏览器有时会检查它,但不是每次都检查它,并且它总是被允许用作哈希。

© www.soinside.com 2019 - 2024. All rights reserved.