Ответ
Безопасный (Safe) HTTP-метод — это метод, который по спецификации определен как не изменяющий состояние сервера. Его назначение — только для чтения или получения данных. Безопасность метода гарантирует, что повторные запросы не приведут к побочным эффектам на сервере.
Ключевые характеристики:
- Только для чтения: Не создает, не изменяет и не удаляет ресурсы.
- Идемпотентность не требуется: Безопасный метод может быть неидемпотентным (например,
GETс уникальным идентификатором запроса в логах), но он все равно не должен менять данные.
Примеры безопасных методов:
GET— получение представления ресурса.HEAD— получение только заголовков ответа (какGET, но без тела).OPTIONS— запрос поддерживаемых методов для ресурса.TRACE— диагностический запрос, возвращающий полученное сообщение (используется редко).
Примеры небезопасных методов (изменяют состояние): POST, PUT, DELETE, PATCH.
Практический пример и важность:
GET /api/products/123 HTTP/1.1
Host: example.com
Этот запрос безопасен. Веб-браузеры и поисковые роботы могут свободно выполнять такие запросы, не опасаясь изменения данных. Безопасность методов — основа для надежного кеширования и предварительной загрузки (prefetching) контента.