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