Какую роль играют методы HTTP-запросов (GET, POST и др.)?

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

Ответ

Методы HTTP (или HTTP-глаголы) определяют намерение клиента по отношению к целевому ресурсу на сервере. Они являются ключевым элементом REST-архитектуры, обеспечивая единообразный и предсказуемый интерфейс для API.

Назначение основных методов:

Метод Идемпотентен? Безопасен? Назначение
GET Да Да Получение данных. Не должен изменять состояние сервера.
POST Нет Нет Создание нового ресурса или выполнение действия.
PUT Да Нет Полное обновление ресурса (создание, если не существует).
DELETE Да Нет Удаление указанного ресурса.
PATCH Нет Нет Частичное обновление ресурса.

Практический пример:

// GET — получить пользователя с id=1
fetch('/api/users/1', { method: 'GET' });

// POST — создать нового пользователя
fetch('/api/users', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Alice', email: 'alice@example.com' })
});

// DELETE — удалить пользователя с id=1
fetch('/api/users/1', { method: 'DELETE' });

Использование правильных методов делает API семантически понятным и соответствует принципам REST.