‘Aggiorna’ intestazione HTTP

Sto automatizzando un’applicazione web (il bug tracker Mantis) e sto ricevendo un’intestazione di risposta interessante, chiamata Refresh:

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

Sembra che agisca allo stesso modo del meta refresh , e la tecnica di meta aggiornamento implica che è equivalente a un’intestazione in HTTP.

Il problema è che non riesco a trovare alcuna menzione dell’intestazione di aggiornamento nello standard HTTP o di qualsiasi altra documentazione definitiva su come dovrebbe essere analizzata e cosa dovrebbe fare il browser quando lo incontra.

Cosa sta succedendo qui?

Per quanto ne so, Refresh (insieme a Set-Cookie e forse ad alcuni altri pseudo-header proprietari) sono stati creati da Netscape nei primissimi giorni di Internet e sono stati sostanzialmente (ma non del tutto) standard da allora. Poiché quasi tutti i browser lo supportano, Refresh è abbastanza sicuro da usare, e in genere lo è.

Immagino che non sia mai diventato parte degli standard ufficiali perché avevano già disposizioni per questo con i codici di stato.

dalla specifica W3C HTML 4.01, citazione:

Intestazioni META e HTTP

L’attributo http-equiv può essere utilizzato al posto dell’attributo name e ha un significato speciale quando i documenti vengono recuperati tramite l’Hypertext Transfer Protocol (HTTP). I server HTTP possono utilizzare il nome della proprietà specificato dall’attributo http-equiv per creare un’intestazione in stile [RFC822] nella risposta HTTP. Si prega di consultare le specifiche HTTP ([RFC2616]) per i dettagli sulle intestazioni HTTP valide.

Ciò significa che quando si utilizza il , si sta effettivamente istruendo il browser affinché agisca come se fosse stata inviata un’intestazione di Refresh .

una buona panoramica della sua storia può essere trovata su http://www.securiteam.com/securityreviews/6Z00320HFQ.html

Secondo Wikipedia: URL Reindirizzamento :

Questa è un’estensione proprietaria / non standard di Netscape. È supportato dalla maggior parte dei browser web.

Credo che in origine fosse un’estensione di Netscape, e non fosse standardizzata perché è deprecata dal W3C:

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

Probabilmente è un’estensione Microsoft per HTTP; almeno suggeriscono il suo uso su COME: abilitare il pull client per i server Web, i siti e le cartelle e sembra confermare la syntax del meta refresh.