Какие типы HTTP-запросов вы знаете?

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

Ответ

Основные типы HTTP-запросов (методы) и их характеристики:

Метод Назначение Идемпотентность Безопасность Тело запроса
GET Получение данных с сервера. Да Да Нет (данные в URL/заголовках)
POST Отправка данных для создания ресурса или выполнения операции. Нет Нет Да
PUT Полное обновление или создание ресурса по известному URI. Да Нет Да
PATCH Частичное обновление ресурса. Нет* Нет Да
DELETE Удаление ресурса. Да Нет Обычно нет
HEAD Получение только заголовков ответа (как у GET). Да Да Нет
OPTIONS Определение поддерживаемых методов для ресурса. Да Да Нет

Почему это важно: Правильный выбор метода обеспечивает семантическую ясность API, влияет на кэширование и поведение клиентов.

Пример GET и POST на JavaScript (Fetch API):

// GET запрос
fetch('https://api.example.com/users/1')
  .then(response => response.json())
  .then(data => console.log(data));

// POST запрос
fetch('https://api.example.com/users', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'John', age: 30 })
});