Существует ли ограничение на длину запроса GET?

Существует ли ограничение на длину запроса GET?

+138
источник поделиться
6 ответов

Не в RFC, нет, но существуют практические ограничения.

Протокол HTTP не устанавливает априорного ограничения на длину URI. Серверы ДОЛЖНЫ иметь возможность обрабатывать URI любого ресурса, который они служить, и СЛЕДУЕТ иметь возможность обрабатывать URI неограниченной длины, если они предоставлять формы на основе GET, которые могут генерировать такие URI. Сервер СЛЕДУЕТ возвращать 414 (Request-URI Too Long) статус, если URI длиннее чем сервер может обрабатывать (см. раздел 10.4.15).

Примечание. Серверы должны быть осторожны в зависимости от длины URI выше 255 байт, потому что некоторые старые реализации клиента или прокси-сервера могут не поддерживать эту длину должным образом.

+74
источник

Эта статья довольно хорошо подводит итоги

Сводка: это зависит от реализации, поскольку в RFC не указано ограничение. Было бы безопасно использовать до 2000 символов (предел IE). Если вы находитесь где-то рядом с этой длиной, вы должны убедиться, что вам действительно нужны URI, что долго, возможно, альтернативный дизайн может обойти это.

URI должны читаться, даже если они используются для отправки данных.

+52
источник
другие ответы

Связанные вопросы


Похожие вопросы

Спецификация не ограничивает длину запроса HTTP Get, но разные браузеры реализуют свои собственные ограничения. Например, Internet Explorer имеет ограничение, реализованное с 2083 символами.

+16
источник

Как запрошено пользователем Erickson, я публикую свой комментарий в качестве ответа:

Я провел еще несколько тестов с IE8, IE9, FF14, Opera11, Chrome20 и Tomcat 6.0.32 (новая установка), Джерси 1.13 на стороне сервера. Я использовал функцию jQuery $.getJson и JSONP. Результаты: все браузеры допускают около 5400 символов. FF и IE9 сделали примерно до 6200 символов. Все выше возвращено "400 Bad request". Я больше не исследовал, что было ответственным за 400. Я был в порядке с максимумом, который я нашел, потому что мне понадобилось около 2000 символов в моем случае.

+16
источник

W3C однозначно отказался от этого как мифа здесь

http://www.w3.org/2001/tag/doc/get7#myths

+11
источник

setFixedLengthStreamingMode (int) с параметрами contentLength может установить фиксированную длину тела запроса HTTP.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос