Как передаются параметры в HTTP GET-запросе?

«Как передаются параметры в HTTP GET-запросе?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Параметры в GET-запросе передаются через строку запроса (query string) в URL.

Синтаксис:

https://example.com/path?key1=value1&key2=value2
  • Параметры добавляются после знака ?.
  • Пары ключ=значение разделяются амперсандом &.
  • Значения должны быть URL-кодированы (например, пробел → %20).

Пример запроса:

curl "https://api.example.com/search?query=test&limit=10&sort=asc"

Характеристики и ограничения:

  • Видимость: Параметры отображаются в адресной строке браузера и истории.
  • Кэширование: GET-запросы кэшируются браузером и промежуточными прокси.
  • Длина: Ограничена максимальной длиной URL (обычно 2048–8192 символа, зависит от браузера и сервера).
  • Безопасность: Не подходит для передачи конфиденциальных данных (паролей, токенов).

Проверка отправки параметров:

  1. Инструменты разработчика (DevTools): Вкладка Network → выберите запрос → раздел HeadersQuery String Parameters.
  2. Серверные логи: Параметры видны в логах доступа (например, в Nginx или Apache).
  3. Тестирование: Используйте Postman, cURL или инструменты браузера для отправки запросов с параметрами.