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