PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

В чем разница между методами HTTP запросов?

DOM и браузер

Методы HTTP-запросов различаются назначением, идемпотентностью, безопасностью и тем, где передаются данные. Главные — GET, POST, PUT, PATCH, DELETE.

Различия по назначению

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

Различия по свойствам

  • GET — Данные: в URL; Идемпотентен: да; Безопасен: да; Кешируется: да
  • POST — Данные: в теле; Идемпотентен: нет; Безопасен: нет; Кешируется: нет
  • PUT — Данные: в теле; Идемпотентен: да; Безопасен: нет; Кешируется: нет
  • PATCH — Данные: в теле; Идемпотентен: обычно нет; Безопасен: нет; Кешируется: нет
  • DELETE — Идемпотентен: да; Безопасен: нет; Кешируется: нет
  • Идемпотентность — повтор запроса даёт тот же результат (важно для retry).
  • Безопасность — не меняет состояние сервера (GET).

GET против POST (частый вопрос)

  • GET: данные в URL, кешируется, идемпотентен, для чтения.
  • POST: данные в теле, не кешируется, не идемпотентен, для создания/изменения.

PUT против PATCH

  • PUT заменяет ресурс целиком (нужны все поля), идемпотентен.
  • PATCH меняет отдельные поля.

Коротко для собеседования

Методы различаются назначением (GET читать, POST создать, PUT заменить, PATCH обновить часть, DELETE удалить), идемпотентностью (GET/PUT/DELETE — да, POST — нет), безопасностью (только GET) и местом данных (GET — URL, остальные — тело). PUT заменяет целиком, PATCH — частично.

Другие вопросы раздела