Какое ограничение на количество символов в URL
Каково ограничение на количество символов для URL, особенно если URL сформирован из метода GET формы.
5 ответов
Согласно Microsoft, это 2048 год. Так как они изобрели Интернет (а также свет, тьму и Linux), они правы.:-) .... или.. и поскольку IE задает это более низкое значение, это самый низкий общий знаменатель.
http://support.microsoft.com/kb/208427
В Firefox я вижу людей, работающих по сетевым URL-адресам для сообщений 0xFFFF: http://forums.mozillazine.org/viewtopic.php?f=38&t=155648&start=0&st=0&sk=t&sd=a
Вот еще один пост, в котором говорится об этом: http://hiox.org/index.php?id=425
РЕДАКТИРОВАТЬ: это очень грустно, что почти через 5 лет после того, как я написал этот ответ - это все еще правда. Если можете, посмотрите историю этого ответа.
EDIT2: я нашел лучший ответ на Stackru - Какова максимальная длина URL в разных браузерах?
РЕДАКТИРОВАТЬ 3: 9 лет спустя - Explorer устарел в пользу Edge, вскоре Edge будет переработан с использованием Blink (что делает его очень близким к Chrome). Интересно, насколько уместен этот ответ.
Там нет опубликованного максимума, но эффективный предел составляет около 2000 символов, потому что это то, что поддерживает Internet Explorer (версия 4 и выше). См. http://www.boutell.com/newfaq/misc/urllength.html
объяснение
Для максимального размера URL HTTP не создано правило большого пальца Get
Запрос по RFC 2616 (протокол передачи гипертекста - HTTP/1.1 - раздел 3.2.1).
Ограничения накладываются различными браузерами и соответствующими серверами.
Эти ограничения должны учитываться совместно при передаче строки запроса, переданной в URL-адресе в любом из HTTP-запросов.
Если размер URL-адреса превышает ограничение размера URL-адреса, установленное соответствующим браузером, запрос не будет передан на сервер, и для устранения и устранения этой ситуации потребуются дополнительные усилия.
Максимальный размер URL по...
браузер
Internet Explorer
2048 В
Максимальный размер унифицированного указателя ресурса (URL) в Microsoft Internet Explorer составляет 2083 символа. Internet Explorer также имеет максимальную длину пути 2048 символов. Это ограничение применяется как к запросу POST, так и к URL-адресу запроса GET. Если вы используете метод GET, вы ограничены максимум 2048 символами, минус количество символов в фактическом пути.
Mozilla Firefox
100 КБ
В адресной строке не отображаются никакие символы, кроме 65 536 символов. Но размер URL может быть больше этого, хотя вы не можете просмотреть его в адресной строке. Это верно для FireFox 1.5 вплоть до текущей версии Firefox
опера
200 КБ
URL-адрес полностью виден в адресной строке даже в таком большом диапазоне
Chrome, Safari
100 КБ
Оба браузера основаны на webkit и, кажется, имеют почти такое же ограничение, как и Firefox.
сервер
апаш
128 КБ
Размер изменяется с помощью параметра LimitRequestLine сервера
IIS
16 кб
Значение по умолчанию составляет 16 КБ, а максимальное ограничение составляет 16 МБ.
Lotus Notes
4 КБ
Дальнейшая информация
Очень длинные URL не рекомендуется вообще.
Для того чтобы веб-приложение было совместимо с различными браузерами, Get
Метод не должен использоваться для передачи очень длинных строк, содержащих более 2000 символов.
Если вы столкнулись с ситуацией, когда вам нужно использовать URL-адреса, содержащие большое количество символов, подумайте еще раз.
Более новый IE: 2048 символов. Некоторые платформы поддерживают только 255.
Разные браузеры имеют разные ограничения. Но, как правило, ограничение составляет около 2000 символов для метода GET URL. Вы можете использовать страницу прокси, которая использует метод POST (если ваш API поддерживает это) и имеет больший лимит в 5000 символов. В настоящее время мы исследуем использование прокси-страницы с Google Map API, поскольку мы достигли предела в 2000 символов.