Введение

Часть URL, которая присваивает значения указанным параметрам. Строка запроса — это часть универсального указателя ресурсов (URL), которая присваивает значения указанным параметрам. Строка запроса обычно содержит поля, добавляемые к базовому URL веб-браузером или другим клиентским приложением, например, в составе HTML-документа, для изменения внешнего вида страницы или перехода к определенным позициям в мультимедийном контенте. Веб-сервер может обрабатывать запрос протокола передачи гипертекста (HTTP) либо путем чтения файла из файловой системы на основе пути URL, либо путем обработки запроса с использованием логики, специфичной для типа ресурса. В случаях, когда вызывается специальная логика, строка запроса будет доступна этой логике для использования в процессе обработки вместе с частью URL, определяющей путь.

Кодировка URL

Некоторые символы не могут быть частью URL (например, пробел), а некоторые другие символы имеют специальное значение в URL: например, символ # может использоваться для более точного указания подраздела (или фрагмента) документа. В HTML-формах символ = используется для разделения имени и значения. URI использует кодирование URL для решения этой проблемы, в то время как HTML-формы выполняют некоторые дополнительные замены вместо применения процентного кодирования для всех таких символов. Пробел кодируется как '+' или "%20".

Если URL слишком длинный, веб-сервер возвращает код состояния HTTP 414 Request URI Too Long. Распространенным решением этих проблем является использование POST вместо GET и хранение параметров в теле запроса. Ограничения на длину тела запроса обычно значительно выше, чем ограничения на длину URL. Например, по умолчанию максимальный размер POST-запроса составляет 2 МБ в IIS 4.0 и 128 КБ в IIS 5.0. В Apache2 лимит можно настроить с помощью директивы LimitRequestBody, которая определяет допустимый размер тела запроса в байтах – от 0 (неограниченно) до 2147483647 (2 ГБ).