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

And*_*rle 23 url hash fragment-identifier

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

Ben*_*and 14

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

  • “哈希”实际上是 URL 片段,不会发送到服务器,因此从服务器角度来看,长度限制不适用。 (3认同)

LCB*_*LCB 10

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

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

我不知道IE中的情况.

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

  • 您是否找到有关客户端限制(或缺乏)的任何官方(文档)信息? (3认同)

rah*_*hul 8

整个网址肯定有一个长度.

RFC2616 - 超文本传输​​协议

Internet Explorer中的最大URL长度为2,083个字符

URL的最大长度是多少?

  • RFC2616 没有提到片段,只是说:“URI 不得包含片段” (6认同)
  • 这没有回答问题 (3认同)
  • 片段是客户端的。这不是一个有效的答案。 (2认同)