Получить доступ

Какие HTTP-методы вы знаете? Чем GET отличается от POST?

JuniorКлиент-сервер и веб
Ещё спрашивают так:
  • Что такое идемпотентность HTTP-метода?
  • Чем PUT отличается от PATCH?
Коротко

GET — получить данные, POST — создать или отправить, PUT — заменить целиком, PATCH — изменить частично, DELETE — удалить.

  • GET передаёт параметры в URL и не должен менять данные; POST — в теле запроса
  • Идемпотентный метод — повторный вызов даёт тот же эффект: GET, PUT, DELETE — да, POST — нет

А ещё Отсюда тест: повторная отправка формы (двойной клик) не должна создавать дубль

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Основные методы в REST API:

  • GET — получить ресурс. Параметры — в строке запроса (?page=2). Безопасный — не меняет данные; ответ можно кэшировать; URL с параметрами остаётся в истории и логах, поэтому пароли так не передают.
  • POST — создать ресурс или выполнить действие. Данные — в теле запроса.
  • PUT — заменить ресурс целиком данными из запроса.
  • PATCH — изменить отдельные поля.
  • DELETE — удалить.
  • Реже: HEAD (только заголовки), OPTIONS (какие методы доступны, используется браузером для CORS).

Идемпотентность — повторный одинаковый запрос не меняет результат после первого. GET, PUT, DELETE идемпотентны: удалить уже удалённое — тот же итог. POST нет: два одинаковых POST создадут два заказа.

Для тестировщика это источник проверок: двойная отправка формы, повтор запроса при плохой сети, кнопка «назад» после оплаты, GET-запрос, который вдруг меняет данные.

Пример

GET /api/orders/15 — получить заказ. POST /api/orders с телом {"items": [...]} — создать заказ. PATCH /api/orders/15 с {"status": "cancelled"} — отменить. Проверка: отправить POST дважды быстро — должен создаться один заказ или второй запрос должен быть отклонён.

Что хотят услышать

  • Основные методы и их назначение.
  • Где передаются данные в GET и POST.
  • Идемпотентность и её практическое значение.
  • PUT против PATCH — плюс.

Частые ошибки

  • «POST безопаснее GET, потому что данные спрятаны» — без HTTPS они видны так же.
  • Не знать, что такое идемпотентность.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем