Maximum length of URL fragments (hash)

2019-02-21 10:18发布

Is there a length limit for the fragment part of an URL (also known as the hash)?

3条回答
放我归山
2楼-- · 2019-02-21 10:42

It depends on the browser. I found that in safari, chrome, and Firefox, an URL with a long hash is legal, but if it is a param send to the server, the browser will display an 414 or 413 error.

for example: an URL like http://www.stackoverflow.com/?abc#{hash value with 100 thousand characters} will be ok. and you can use location.hash to get the hash value in javascript but an URL like http://www.stackoverflow.com/?abc&{query with 100 thousand characters} will be illegal, if you paste this link in the address bar, a 413 error code will be given and the message is the client issued a request that was too long. If that is a link in a web page, in my computer, Nginx response the 414 error message.

I don't know the situation in IE.

So I think, the limitation of the length of URL is just for transmission or HTTP server, the browser will check it sometimes, but not every time, and it will always be allowed to be used as a hash.

查看更多
在下西门庆
3楼-- · 2019-02-21 10:51

The hash is client side only, so the rules for HTTP may not apply to it.

查看更多
登录 后发表回答