74

Web アプリケーション (Mantis バグ トラッカー) を自動化しているところ、そこから Refresh という興味深い応答ヘッダーを取得しています。

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

メタ リフレッシュと同じように動作しているようで、メタ リフレッシュ手法は、HTTP のヘッダーに相当することを意味します。

問題は、 HTTP 標準の Refresh ヘッダーについての言及や、それを解析する方法やブラウザーが遭遇したときにブラウザーが何をすべきかについての他の決定的なドキュメントが見つからないことです。

何が起きてる?

4

5 に答える 5

63

私の知る限り、Refresh は (Set-Cookie およびおそらく他のいくつかの独自の疑似ヘッダーと共に) インターネットの非常に初期の頃に Netscape によって作成され、それ以来基本的に (完全ではありませんが) 標準となっています。ほぼすべてのブラウザーがサポートしているため、Refresh は安全に使用できます。

ステータスコードですでに規定があったため、公式の標準の一部になることはなかったと思います。

于 2008-11-12T12:27:26.983 に答える
21

W3C HTML 4.01 仕様から、引用:

META および HTTP ヘッダー

http-equiv 属性は name 属性の代わりに使用でき、ドキュメントが Hypertext Transfer Protocol (HTTP) 経由で取得されるときに特別な意味を持ちます。HTTP サーバーは、http-equiv 属性で指定されたプロパティ名を使用して、HTTP 応答で [RFC822] スタイルのヘッダーを作成できます。有効な HTTP ヘッダーの詳細については、HTTP 仕様 ([RFC2616]) を参照してください。

これが意味することは、<meta http-equiv="refresh" url="..."/>タグを使用すると、実際には、Refreshヘッダーが送信されているかのように動作するようにブラウザーに指示していることになります。

その歴史の概要については、http://www.securiteam.com/securityreviews/6Z00320HFQ.htmlを参照してください。

于 2008-11-12T12:20:11.973 に答える
13

ウィキペディアによると: URL リダイレクト:

これは、Netscape による独自の/非標準の拡張機能です。ほとんどの Web ブラウザでサポートされています。

于 2008-11-12T12:28:53.440 に答える
5

これはもともと Netscape の拡張機能であり、W3C によって廃止されたため標準化されていなかったと思います。

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

于 2008-11-12T12:29:05.060 に答える