Каков предел символов для URL-адреса, особенно если URL-адрес сформирован из метода GET формы.
Каков лимит символов в URL-адресе
Ответ 1
По данным 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
EDIT: это очень печально, что почти через 5 лет после того, как я написал этот ответ - это все еще так. Если можно, посмотрите на историю этого ответа.
EDIT2: я нашел лучший ответ на StackOverflow - Какова максимальная длина URL-адреса в разных браузерах?
Ответ 2
Нет опубликованного максимума, но эффективный предел составляет около 2000 символов, потому что поддерживает Internet Explorer (версия 4 и выше). См. http://www.boutell.com/newfaq/misc/urllength.html
Ответ 3
Объяснение
Не существует правила большого пальца для максимального размера URL-адреса HTTP Get
Запрос в соответствии с RFC 2616 (протокол передачи гипертекста - HTTP/1.1 - раздел 3.2.1).
Ограничения накладываются различными браузерами и соответствующими серверами.
Эти ограничения должны рассматриваться коллективно при передаче строки запроса, переданной в URL-адресе в любом из HTTP-запросов.
Если размер URL превышает ограничение размера URL, наложенное соответствующим браузером, запрос не будет передан серверу, и для отладки и обработки этой ситуации потребуются ненужные усилия.
Максимальный размер URL по...
Браузер
-
Internet Explorer
2048 B
Microsoft Internet Explorer имеет максимальную единицу длины ресурса (URL) 2,083 символа. Internet Explorer также имеет максимальную длину пути 2048 символов. Это ограничение применяется как к запросу POST, так и к URL-адресу запроса GET. Если вы используете метод GET, вы ограничены максимум 2048 символами, минус количество символов в фактическом пути.
-
Mozilla Firefox
100 КБ
В адресной строке не отображаются символы, превышающие 65 536 символов. Но размер URL может быть больше, чем, хотя вы не можете просмотреть его в адресной строке. Это относится к FireFox 1.5 до текущей версии FireFox
-
Opera
200 КБ
URL-адрес полностью отображается в адресной строке даже в таком большом диапазоне
-
Chrome, Safari
100 КБ
Оба браузера основаны на webkit и, похоже, имеют почти тот же предел, что и firefox
Сервер
-
Apache
128 КБ
Размер изменяется с помощью параметра LimitRequestLine сервера
-
IIS
16 КБ
Значение по умолчанию - 16 КБ, максимальное ограничение - 16 МБ
-
Примечания Lotus Notes
4 КБ
Дополнительная информация
Очень длинные URL-адреса вообще не рекомендуются.
Для веб-приложения, совместимого с браузером, метод Get
не должен использоваться для передачи очень длинных строк, содержащих больше чем 2000 символов.
Если вы столкнулись с ситуацией, когда вам нужно использовать URL-адреса, чтобы содержать огромное количество символов, тогда дайте ему еще одну мысль.
Ответ 4
Новый IE: 2048 символов Некоторые платформы поддерживают только 255.
Ответ 5
Различные браузеры имеют разные ограничения. Но, как правило, предел составляет около 2000 символов для метода GET URL-адреса. Вы можете использовать страницу прокси, которая выполняет POST-метод (если ваш API поддерживает его) и имеет больший предел в 5000 символов. В настоящее время мы изучаем страницу прокси с API карт Google, поскольку мы врезались в предел 2000 символов.