Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

Какие HTTP-методы обычно используются при проектировании REST API? Чем отличается семантика PUT от PATCH?

Вопрос проверяет знание наиболее распространённых HTTP-методов и понимание разницы между полным и частичным обновлением ресурса.

Короткий ответ

В REST чаще всего используют методы GET, POST, PUT, PATCH, DELETE. GET служит для получения данных, POST — для создания, PUT — для полного обновления ресурса, а PATCH — для частичного. Разница между PUT и PATCH заключается в том, что PUT заменяет весь ресурс целиком, а PATCH — изменяет только указанные поля. PATCH подходит для частичных апдейтов, где важно избежать перезаписи всех данных.

Длинный ответ

HTTP-методы и различие между PUT и PATCH

REST API строится на семантике стандартных HTTP-методов.

1. Основные HTTP-методы

  1. GET

    • получение ресурса

    • не меняет состояние

    • безопасный и идемпотентный

  2. POST

    • создание нового ресурса

    • действие не идемпотентно

    • сервер определяет итоговый результат (например, id)

  3. PUT

    • полное обновление ресурса

    • идемпотентный

    • клиент отправляет полное состояние сущности

  4. PATCH

    • частичное обновление

    • не обязательно идемпотентный

    • отправляется только набор изменений

  5. DELETE

    • удаление ресурса

    • идемпотентный

Дополнительно могут использоваться: OPTIONS, HEAD, TRACE, CONNECT.


2. Разница между PUT и PATCH

Определение PUT

PUT — метод, который заменяет существующий ресурс его новой полной версией.

Пример:

php

PUT /users/10
{
    "name": "John",
    "email": "john@example.com",
    "age": 30
}

Даже если возраст не изменился, клиент обязан передать всё.

Если поле отсутствует — сервер может считать, что его нужно удалить/сбросить.

Определение PATCH

PATCH — частичное обновление ресурса: клиент передаёт только изменённые поля.

Пример:

php

PATCH /users/10
{
    "email": "new@example.com"
}

Другие поля остаются без изменений.


3. Когда использовать PUT

  • синхронизация полного состояния ресурса

  • заменяемые сущности (кэш, настройки)

  • при idempotent API, где повтор запроса должен давать одинаковый результат


4. Когда использовать PATCH

  • обновление отдельных полей

  • оптимизация сетевого трафика

  • сложные или выборочные апдейты

PATCH лучше подходит в большинстве реальных API, где частичное обновление приходит чаще полного.


5. Вывод

REST API опирается на семантику HTTP-методов. PUT — для полного замещения ресурса, PATCH — для частичного обновления. Разница важна при проектировании стабильных и предсказуемых API.

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Networks

Ключевые слова

#http

#methods

#rest

#api

Подпишись на PHP Developer в телеграм

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.