Существует ли предел длины фрагмента URL-адреса (также известный как хэш)?
Максимальная длина фрагментов URL (хэш)
Ответ 1
Определенно длина для всего URL-адреса.
Read
RFC2616 - Протокол передачи гипертекста
Максимальная длина URL-адреса составляет 2,083 символа в Internet Explorer
Ответ 2
Хэш только на стороне клиента, поэтому правила для HTTP могут не применяться к нему.
Ответ 3
Это зависит от браузера. Я обнаружил, что в сафари, хром и 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-сервера, браузер будет проверять его иногда, но не каждый раз, и ему всегда будет разрешено использовать хэш.