'Обновить' HTTP заголовок
Я автоматизирую веб-приложение (Mantis bug tracker), и я получаю от него интересный заголовок ответа, называемый Refresh:
HTTP/1.x 200 OK
...
Refresh: 0;url=my_view_page.php
он, кажется, действует так же, что meta refresh делает, и метод meta refresh подразумевает, что он является эквивалентом заголовка в HTTP.
проблема в том, что я не могу найти никакого упоминания о заголовке обновления в стандарт HTTP или любая другая окончательная документация о том, как это должно быть быть проанализированы и что браузер должен делать, когда он сталкивается с ним.
что здесь происходит?
5 ответов:
насколько я знаю, Refresh (наряду с Set-Cookie и, возможно, некоторыми другими проприетарными псевдо-заголовками) были созданы Netscape в самые первые дни интернета и с тех пор были в основном (но не совсем) стандартными. Поскольку почти каждый браузер поддерживает его, обновление довольно безопасно использовать - и обычно это так.
Я думаю, что это никогда не стало частью официальных стандартов, потому что у них уже были Положения об этом с кодами статуса.
из спецификации W3C HTML 4.01, цитата:
заголовки META и HTTP
атрибут http-equiv может использоваться вместо атрибута name и имеет особое значение при получении документов по протоколу передачи гипертекста (HTTP). HTTP-серверы могут использовать имя свойства, заданное атрибутом http-equiv, для создания заголовка [RFC822] в HTTP-ответе. Пожалуйста см. спецификацию HTTP ([RFC2616]) для деталей на действительном заголовок http.
это означает, что при использовании
<meta http-equiv="refresh" url="..."/>
тег, вы на самом деле инструктируете браузер действовать так, как если бы был отправлено.хороший обзор истории этого можно найти в http://www.securiteam.com/securityreviews/6Z00320HFQ.html
по данным Википедия: перенаправление URL:
Это собственническое / нештатное расширение компанией Netscape. Он поддерживается большинство веб-браузеров.
Я считаю, что это было первоначально расширение Netscape и не было стандартизировано, потому что оно устарело W3C:
Это, вероятно, расширение Microsoft для HTTP; по крайней мере, они предлагают его использование на Как включить клиентский запрос для веб-серверов, сайтов и папок и это, кажется, подтверждает синтаксис meta refresh.