«Обновить» HTTP-заголовок - PullRequest
61 голосов
/ 12 ноября 2008

Я автоматизирую веб-приложение (средство отслеживания ошибок Mantis) и получаю из него интересный заголовок ответа, который называется Refresh:

HTTP/1.x 200 OK
...
Refresh: 0;url=my_view_page.php

Кажется, что он действует так же, как meta refresh , а метод мета-обновления подразумевает, что это эквивалент заголовка в HTTP.

Проблема в том, что я не могу найти упоминания о заголовке Refresh в стандарте HTTP или какой-либо другой исчерпывающей документации о том, как он должен анализироваться и что должен делать браузер, когда он его обнаруживает.

Что здесь происходит?

Ответы [ 5 ]

56 голосов
/ 12 ноября 2008

Насколько я знаю, Refresh (вместе с Set-Cookie и, возможно, некоторыми другими проприетарными псевдозаголовками) были созданы Netscape в самые первые дни Интернета и с тех пор были в основном (но не совсем) стандартными. Поскольку почти каждый браузер поддерживает его, Refresh довольно безопасен в использовании - и обычно это так.

Полагаю, он никогда не стал частью официальных стандартов, потому что в них уже были положения с кодами статуса.

18 голосов
/ 12 ноября 2008

из спецификации W3C HTML 4.01, цитата:

заголовки META и HTTP

Атрибут http-эквивалент может использоваться вместо атрибута имени и имеет особое значение при получении документов через протокол передачи гипертекста (HTTP). HTTP-серверы могут использовать имя свойства, указанное в атрибуте http-эквивалента, для создания заголовка стиля [RFC822] в ответе HTTP. Пожалуйста, обратитесь к спецификации HTTP ([RFC2616]) для получения подробной информации о допустимых заголовках HTTP.

Это означает, что когда вы используете тег <meta http-equiv="refresh" url="..."/>, вы фактически указываете браузеру действовать так, как если бы отправлялся заголовок Refresh.

хороший обзор истории этого можно найти на http://www.securiteam.com/securityreviews/6Z00320HFQ.html

12 голосов
/ 12 ноября 2008

Согласно Википедии: перенаправление URL :

Это фирменный / нестандартный расширение по Netscape. Поддерживается большинством веб-браузеров.

5 голосов
/ 12 ноября 2008

Я полагаю, что это было изначально расширение Netscape, и оно не было стандартизировано, потому что W3C устарело:

http://www.w3.org/TR/WCAG10-HTML-TECHS/#meta-element

0 голосов
/ 12 ноября 2008

Это, вероятно, расширение Microsoft для HTTP; по крайней мере, они предлагают его использовать на КАК: включить клиентское извлечение для веб-серверов, сайтов и папок и, похоже, это подтверждает синтаксис метаобновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...