URL 的片段部分(也称为hash )是否有长度限制?
问问题
11460 次
3 回答
19
哈希只是客户端,因此 HTTP 的规则可能不适用于它。
于 2011-09-28T14:39:15.193 回答
19
这取决于浏览器。我发现在 safari、chrome 和 Firefox 中,带有长哈希的 URL 是合法的,但如果是发送到服务器的 param,浏览器会显示 414 或 413 错误。
例如:一个 URLhttp://www.stackoverflow.com/?abc#{hash value with 100 thousand characters}
就可以了。并且您可以使用 location.hash 来获取 javascript 中的哈希值,但是像这样的 URLhttp://www.stackoverflow.com/?abc&{query with 100 thousand characters}
将是非法的,如果您将此链接粘贴到地址栏中,将给出 413 错误代码并且消息为the client issued a request that was too long
. 如果那是网页中的链接,在我的计算机中,Nginx 会响应 414 错误消息。
我不知道IE中的情况。
所以我认为,URL长度的限制只是为了传输或HTTP服务器,浏览器有时会检查它,但不是每次,它总是被允许用作哈希。
于 2014-09-10T07:28:14.603 回答
3
于 2009-10-15T11:28:09.980 回答