me_edu
REST API: проектирование и потреблениеШаг 17 из 35 · 0% пройдено
2. Профессиональный практикум: проект, качество и портфолио
3. Атлас программных моделей: данные, архитектура, API и тесты
HTTP-методы

Свойства методов: безопасность и идемпотентность

Шаг 17 из 356 минТеория
Цель

Понять основной механизм темы «Свойства методов: безопасность и идемпотентность» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

STRUCTURAL BLOCK DIAGRAMCENTRAL UNITкомпонентpropsstateeventrenderСтруктурная схемастрелки показывают поток данных/энергиимасштаб и расположение условные
Компонентная схема связывает входные props, внутреннее состояние, событие и повторный рендер.
Опорная идея

У методов есть два важных свойства, которые помогают проектировать надёжные API.

Безопасный метод не меняет данные на сервере. GET — безопасен: сколько раз ни запрашивай, состояние сервера не изменится. Поэтому GET можно кешировать и повторять без опаски.

Идемпотентный метод даёт один и тот же результат при повторении. GET, PUT и DELETE идемпотентны: удалить пользователя дважды — он всё равно удалён, результат тот же. А вот POST не идемпотентен: повторный POST создаст вторую запись (поэтому двойная отправка формы может задвоить заказ).

Практические правила: • не используйте GET для изменения данных — это нарушает ожидания и ломает кеширование; • для создания берите POST, для обновления — PUT/PATCH; • помните о неидемпотентности POST: защищайте формы от двойной отправки.

Эти свойства — не формальность: на них опираются браузеры, прокси и кеши, чтобы безопасно повторять и кешировать запросы.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.