SA Шпаргалка

Все ответы в 2 клика

Средний

Почему метод GET нельзя использовать для изменения данных, даже если технически это возможно?

Технически вы можете написать эндпоинт GET /users/123/delete, который удалит юзера в БД. Но это грубейшее нарушение стандартов Web.

Почему это опасно:
1. Кэширование: Браузеры, CDN и прокси-серверы агрессивно кэшируют GET-запросы. Ваш запрос на удаление может просто не дойти до сервера.
2. Предзагрузка (Prefetching): Браузеры (или поисковые боты Google) могут автоматически переходить по всем GET-ссылкам на странице, чтобы ускорить загрузку. Бот случайно удалит половину вашей базы.
3. Идемпотентность: GET обязан быть безопасным (только чтение).

Другие вопросы темы «Ограничения REST»

Ещё вопросы раздела «Сети и Web»

Все вопросы раздела «Сети и Web»