307 Temporary Redirect
HTTP код перенаправления 307 Temporary Redirect
означает, что запрошенный ресурс был временно перемещён в URL-адрес, указанный в заголовке Location
.
Метод и тело исходного запроса повторно используются для выполнения перенаправленного запроса. Если вы хотите, чтобы используемый метод был изменён на GET
, используйте 303 See Other
. Это полезно, если вы хотите дать ответ на метод PUT
, который не является загруженным ресурсом, а является подтверждающим сообщением (например, «Вы успешно загрузили XYZ»).
Единственное различие между 307
и 302
состоит в том, что 307
гарантирует, что метод и тело не будут изменены при выполнении перенаправленного запроса. В случае с кодом 302
некоторые старые клиенты неправильно меняли метод на GET
, из-за чего поведение запросов с методом отличным от GET
и ответа с кодом 302
непредсказуемо, тогда как поведение в случае ответа с кодом 307
предсказуемо. Для запросов GET
поведение идентично.
Статус
307 Temporary Redirect
Пример
Запрос клиента
DELETE /cars/oldest HTTP/1.1 Host: www.example.org
Ответ сервера
HTTP/1.1 307 Temporary Redirect Location: http://www.example.org/cars/id/123456
Спецификации
Спецификации | Название |
---|---|
RFC 7231, раздел 6.4.7: 307 Temporary Redirect | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Совместимость с браузерами
Смотрите также
302 Found
, эквивалентен этому коду ответа, но может изменить метод запроса, если он отличается отGET
.303 See Other
, временное перенаправление, которое изменяет метод наGET
.301 Moved Permanently
, постоянное перенаправление- 307 Temporary Redirect