2012-10-10 14 views
9

La mia lettura della definizione della direttiva "privata" per l'intestazione Cache-Control è che impedirà a qualsiasi parte della risposta di essere memorizzata nella cache da proxy intermedi. Quindi, basandomi su questo, sembra che se io stia usando la direttiva 'privata', allora non c'è bisogno di usare anche una direttiva 'no-cache = "set-cookie"' per dire ai proxy intermedi di sopprimere la memorizzazione nella cache del Set-Cookie intestazione.Cache-Control: 'private' rende 'no-cache = "set-cookie"' non necessario?

Tuttavia, al punto 4.2.3 in this document, si dice:

server di

L'origine deve inviare la seguente HTTP aggiuntive/1.1 intestazioni di risposta, a seconda delle circostanze:

  • Per sopprimere memorizzazione nella cache dell'intestazione Set-Cookie: Cache-control: no- cache = "set-cookie".

    e una delle seguenti opzioni:

  • Per sopprimere il caching di un documento privato in cache condivise: Cache di controllo: private.

    [...]

e vedo un sacco di esempi online che hanno entrambe le direttive.

Così ho davvero bisogno di entrambi per impedire ai proxy intermedi di memorizzare nella cache un'intestazione Set-Cookie? Ho fatto alcuni test e sembra che Internet Explorer stia rispondendo alla direttiva "no-cache =" set-cookie "" emettendo una richiesta completa ogni volta successiva, quindi preferirei non includerla se non è necessario.

risposta

4

Cache-Control: Private interromperà le cache intermedie dall'archiviazione del contenuto, quindi la direttiva set-cookie non è applicabile in questo caso.

+3

ma Google Analytics 1x1 gif utilizza ancora questo valore di intestazione: privato, no-cache, no-cache = Set-Cookie, proxy-revalidate – Valentin