web-dev-qa-db-fra.com

En-tête HTTP «Actualiser»

J'automatise une application Web (l'outil de suivi des bogues Mantis) et j'obtiens 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 en HTTP.

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

Que se passe t-il ici?

61
elifiner

Pour autant que je sache, Refresh (avec Set-Cookie et peut-être d'autres pseudo-en-têtes propriétaires) a été créé par Netscape au tout début d'Internet et a été fondamentalement (mais pas tout à fait) standard depuis lors. Parce que presque tous les navigateurs le prennent en charge, Refresh est assez sûr à utiliser - et c'est généralement le cas.

Je suppose que cela n'a jamais fait partie des normes officielles, car il y avait déjà des dispositions pour cela avec les codes de statut.

56
Alistair

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 les 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 les en-têtes HTTP valides.

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

un bon aperçu de son histoire peut être trouvé sur http://www.securiteam.com/securityreviews/6Z00320HFQ.html

18
Loki

Selon Wikipedia: URL Redirection :

Il s'agit d'une extension propriétaire/non standard de Netscape. Il est pris en charge par la plupart des navigateurs Web.

12
Greg

Je pense que c'était à l'origine une extension Netscape, et n'était pas standardisée car elle est déconseillée par le W3C:

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

5
Alnitak