Как долго могут быть параметры в запросе get? - PullRequest
11 голосов
/ 01 июня 2011

В настоящее время я программирую API, который получает передаваемые данные через параметры get, поэтому мне было интересно, ограничена ли общая длина URL-адреса или значения параметров в наилучшей практике или протоколом.

Ответы [ 3 ]

13 голосов
/ 01 июня 2011

http://www.boutell.com/newfaq/misc/urllength.html

По сути, 2K - это максимум, на что вы можете положиться в кросс-браузерной манере, но если вы откажетесь от поддержки IE 8 и ниже, вы можете получить 64K.

Хотя я чувствую, что мне нужно подвергнуть сомнению вашу необходимость знать это, что-то сверх того, чтобы сказать ... 100 символов лучше всего обрабатывать с помощью запроса POST вместо GET.

5 голосов
/ 01 июня 2011

Просто добавьте каноническую ссылку ... из HTTP 1.1 RFC , в разделе 3.2.1:

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

Note: Servers ought to be cautious about depending on URI lengths
  above 255 bytes, because some older client or proxy
  implementations might not properly support these lengths.
0 голосов
/ 01 июня 2011

Официального ограничения нет, поэтому он зависит от разных браузеров.

...