it-swarm.com.de

HTTP-Header aktualisieren

Ich automatisiere eine Webanwendung (den Mantis-Bug-Tracker) und erhalte einen interessanten Antwort-Header namens "Aktualisieren":

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

Es scheint genauso zu funktionieren wie Meta Refresh , und die Meta Refresh-Technik impliziert, dass es sich um ein Äquivalent eines Headers in HTTP handelt.

Das Problem ist, dass ich keine Erwähnung des Refresh-Headers im HTTP-Standard oder einer anderen endgültigen Dokumentation darüber finden kann, wie es analysiert werden soll und was der Browser tun soll, wenn er darauf stößt.

Was ist denn hier los?

61
elifiner

Soweit ich weiß, wurden Refresh (zusammen mit Set-Cookie und möglicherweise einigen anderen proprietären Pseudo-Headern) in den frühen Tagen des Internets von Netscape erstellt und sind seitdem im Grunde (aber nicht ganz) Standard. Da fast jeder Browser diese Funktion unterstützt, ist die Verwendung von Refresh ziemlich sicher - und dies ist häufig der Fall.

Ich denke, es wurde nie Teil der offiziellen Standards, weil sie bereits Bestimmungen mit den Statuscodes dafür hatten.

56
Alistair

aus der W3C HTML 4.01 Spezifikation, Zitat:

META- und HTTP-Header

Das http-equiv-Attribut kann anstelle des name-Attributs verwendet werden und hat eine besondere Bedeutung, wenn Dokumente über das Hypertext Transfer Protocol (HTTP) abgerufen werden. HTTP-Server können den durch das Attribut http-equiv angegebenen Eigenschaftsnamen verwenden, um einen Header im [RFC822] -Stil in der HTTP-Antwort zu erstellen. Weitere Informationen zu gültigen HTTP-Headern finden Sie in der HTTP-Spezifikation ([RFC2616]).

Dies bedeutet, dass bei Verwendung des <meta http-equiv="refresh" url="..."/>-Tag, Sie weisen den Browser tatsächlich an, so zu verhalten, als ob ein Refresh -Header gesendet würde.

einen guten Überblick über die Geschichte finden Sie unter http://www.securiteam.com/securityreviews/6Z00320HFQ.html

18
Loki

Laut Wikipedia: URL Redirection :

Dies ist eine proprietäre/nicht standardmäßige Erweiterung von Netscape. Es wird von den meisten Webbrowsern unterstützt.

12
Greg

Ich glaube, es war ursprünglich eine Netscape-Erweiterung und nicht standardisiert, weil sie von W3C veraltet ist:

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

5
Alnitak