C'è qualche prova che usa male l'intestazione HTTP Pragma nelle risposte ha qualche effetto (unico)?

14

Ho studiato l'intestazione di Pragma, poiché ci sono già altre due intestazioni di risposta HTTP che nascondono la cache (Cache-Control & Expires), ed ero interessato a quali browser usassero (d) il vecchio HTTP 1.0.

Si scopre che la specifica definisce solo il comportamento di Pragma ( no-cache ) per HTTP 1.0 richieste , non risposte.

L'unica menzione specifica del browser che posso trovare è per IE4 , che sembra richiedere 32 KB di contenuto prima di onorarlo come elemento <meta> , il che significa che come intestazione non ha mai funzionato anche quando quel browser era pertinente e Netscape 4 che apparentemente non ha funzionato .

OWASP sembra consigliare questa intestazione e alcuni siti di grandi dimensioni lo usano , ma sembra molto come se fosse iniziato come" solo nel caso ", non è mai stato effettivamente supportato e perpetuato come una superstizione.

Qualcuno ha osservato un cambiamento di comportamento riproducibile (e desiderabile) utilizzando l'intestazione HTTP di Pragma in una risposta, distinta dalla funzionalità di Cache-Control o Expires?

    
posta brianary 19.04.2015 - 23:36
fonte

1 risposta

4

Pragma è deprecato a favore di Cache-Control, ma a causa del suo uso improprio come intestazione di risposta ci sono client e proxy che lo interpreteranno come tali.

Le precedenti versioni di calamari sono un esempio e partendo con 3.2, Squid sta facendo pubblicità e sta tentando di supportare pienamente le specifiche HTTP / 1.1, il che significa che pragma in una risposta del server non ha alcun significato e verrà ignorato.

Secondo Microsoft KB234067 , Internet Explorer 4.01 e 6.0 consentono Pragma: no-cache in modo sicuro Risposta HTTP e un pragma: meta tag no-cache tramite risposta insicura. Altri browser come Firefox sembrano avere un debole supporto.

Nota RFC2616 afferma:

Cache directives are unidirectional in that the presence of a directive in a request does not imply that the same directive is to be given in the response.

Note that HTTP/1.0 caches might not implement Cache-Control and might only implement Pragma: no-cache (see section 14.32).

    
risposta data 22.04.2015 - 11:08
fonte

Leggi altre domande sui tag