Что делает HTTP-метод GET и каковы его ключевые характеристики?

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

Ответ

GET — это HTTP-метод, предназначенный только для получения (чтения) данных с сервера. Он является идемпотентным и безопасным (safe), то есть многократные одинаковые запросы не должны изменять состояние сервера.

Основные характеристики:

  • Данные передаются в URL в виде query-параметров: https://api.example.com/users?role=admin&active=true.
  • Имеет ограничения на длину URL, зависящие от браузера и сервера.
  • Запросы могут кэшироваться браузером и промежуточными прокси.
  • Параметры видны в истории браузера и логах, поэтому метод не подходит для передачи конфиденциальных данных (паролей, токенов).

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

GET /api/v1/products?category=books&limit=10 HTTP/1.1
Host: api.store.com
Accept: application/json

Пример тестирования в Postman или с помощью curl:

  1. Метод: GET.
  2. URL: https://api.store.com/api/v1/products.
  3. Параметры: Вкладка Params → Key: category, Value: books.
  4. Отправка запроса и проверка кода ответа (например, 200 OK) и тела ответа в формате JSON.