En-tête HTTP' actualiser'

J'automatise une application web (le suivi des bogues Mantis) et j'en reçois un en-tête de réponse intéressant, appelé Refresh:

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

Il semble agir de la même manière que meta refresh, et la technique meta refresh implique qu'il s'agit d'un équivalent D'un en-tête dans HTTP.

Le problème est que je ne trouve aucune mention de l'en-tête Refresh dans la norme HTTP ou toute autre documentation définitive sur la façon dont il doit être analysé et ce que le navigateur devrait faire quand il rencontre.

Que se passe-t-il ici?

58
demandé sur bignose 2008-11-12 15:10:38

5 réponses

Pour autant que je sache, Refresh (avec Set-Cookie et éventuellement d'autres pseudo-en-têtes propriétaires) ont été créés par Netscape au tout début d'internet et ont été fondamentalement (mais pas tout à fait) standard depuis lors. Parce qu'à peu près tous les navigateurs le supportent, Refresh est assez sûr à utiliser-et l'est généralement.

Je suppose que cela n'a jamais fait partie des normes officielles parce qu'ils avaient déjà des dispositions pour cela avec les codes d'état.

55
répondu Alistair 2008-11-12 12:27:26

De la spécification W3C HTML 4.01, citation:

En-têtes META et HTTP

L'attribut http-equiv peut être utilisé à la place de l'attribut name et a une signification particulière lorsque des documents sont récupérés via le protocole de transfert hypertexte (HTTP). Les serveurs HTTP peuvent utiliser le nom de propriété spécifié par l'attribut http-equiv pour créer un en-tête de style [RFC822] dans la réponse HTTP. Veuillez consulter la spécification HTTP ([RFC2616]) pour plus de détails sur HTTP valide tête.

Cela signifie que lorsque vous utilisez la balise <meta http-equiv="refresh" url="..."/>, vous demandez au navigateur d'agir comme s'il y avait un en-tête Refresh Envoyé.

Un bon aperçu de l'histoire de peut être trouvé à http://www.securiteam.com/securityreviews/6Z00320HFQ.html

18
répondu Loki 2008-11-12 12:20:11

Selon Wikipedia: Redirection URL :

Ceci est un propriétaire / non-standard extension par Netscape. Il est pris en charge par la plupart des navigateurs web.

12
répondu Greg 2008-11-12 12:28:53

Je crois que c'était à L'origine une extension Netscape, et n'était pas standardisée car elle est obsolète par le W3C:

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

5
répondu Alnitak 2008-11-12 12:29:05

C'est probablement une extension Microsoft à HTTP; au moins ils suggèrent son utilisation sur Comment: activer L'extraction du Client pour les serveurs Web, les Sites et les dossiers et cela semble confirmer la syntaxe meta refresh.

-5
répondu activout.se 2008-11-12 12:25:07