Risorse · 63

Cache HTTP: proteggere le risposte personalizzate

Separare le cache condivise, private e dell'applicazione, ispezionare le chiavi, la convalida e l'invalidazione dopo le modifiche dei diritti di accesso.

Aggiornato · 3 min

Obiettivi di questa guida

  • Livelli di inventario
  • Scegliere la conservazione
  • Ispezionare le chiavi
  • Eseguire la riconvalida e la modifica

Verifica rapida

  • L'assenza di cache significa che non viene conservato nulla?
  • Vary protegge i diritti di accesso?
  • Tutte le API dovrebbero essere memorizzate nella cache?

Metodo passo passo

  1. 1

    Livelli di inventario

    Elencare le cache di browser, CDN, proxy, service worker e applicazioni. Classificare le risposte pubbliche e personalizzate. Una policy HTTP non descrive automaticamente la memorizzazione nella cache implementata nel codice.

    Risultato: diagramma dei livelli e dei proprietari.

  2. 2

    Scegliere la conservazione

    RFC 9111 distingue le direttive: no-cache richiede la convalida prima del riutilizzo, no-store vieta la memorizzazione HTTP pertinente e unqualified private esclude la memorizzazione condivisa. Nessuno da solo garantisce la riservatezza del sistema. Risultato

    Risultato: politica di conservazione per risposta.

  3. 3

    Ispezionare le chiavi

    Verificare il metodo, l'URI e le dimensioni che modificano una rappresentazione. La variabile riguarda i campi della richiesta; non si tratta di autorizzazione. Ricercare la lingua omessa, la negoziazione del formato e il contesto dell'account nei livelli applicativi. Risultato

    Risultato: chiavi e test di separazione.

  4. 4

    Eseguire la riconvalida e la modifica

    Testare risposte nuove e obsolete, aggiornamenti dei dati e diritti revocati. Ispezionare l'ETag, la convalida condizionale e il comportamento in caso di origine non disponibile. Una risposta precedentemente corretta potrebbe diventare sensibile dopo la revoca.

    Risultato: tracce prima e dopo.

  5. 5

    Riproduzione con due account.

    Utilizzo di identità e marcatori fittizi. Richieste alternate allo stesso URI con cache calde e fredde. Verifica del logout, dei link diretti e del logging senza registrare token reali.

    Risultato: test negativi e strategia di invalidazione.

Foglio di lavoro riutilizzabile

Completare con le proprie osservazioni autorizzate. Questi campi costituiscono un modello di lavoro, non risultati osservati.

CampoInformazioni da registrare
RispostaPubblico o personalizzato; Dimensioni
LivelloCache, proprietario e chiave
PoliticaConservazione, aggiornamento e convalida
ProvaAccount fittizio, modifica e osservazione

Esempio pratico fittizio

Situazione illustrativa

Esempio fittizio: una CDN riutilizza una risposta del profilo allo stesso URI per due account di test.

Decisione e prove attese

Lo scenario rileva una perdita di dati, esamina le policy e le chiavi, quindi riproduce il comportamento dopo la correzione e la revoca dell'accesso.

Distinguere i meccanismi

MeccanismoScopoVerifica o limitazione
senza cacheConsenti l'archiviazione con convalida richiestaNon interpretarlo come nessuna archiviazione
Privato non qualificatoEscludi la cache condivisaNon interpretarlo come una garanzia di riservatezza
senza memorizzazioneImpedisci la memorizzazione HTTP pertinenteControlla separatamente le cache e la cronologia dell'applicazione

Indicatori di gestione

IndicatoreCosa misuraPrima azione
Separazione degli accountNessun marcatore da un altro accountIspeziona corpo, link e metadati
Età e convalidaRiutilizzo coerente con la policyVerifica la scadenza e l'origine non disponibile
Ritardo di invalidazioneTempo fino alla rappresentazione correttaDenomina ogni livello ancora obsoleto

Errori comuni

  • Non interpretarlo come nessuna archiviazione
  • Non interpretarlo come una garanzia di riservatezza
  • Controlla separatamente le cache e la cronologia dell'applicazione

Domande frequenti

L'assenza di cache significa che non viene conservato nulla?

No. Richiede la convalida prima del riutilizzo; non vieta l'archiviazione come fa "senza memorizzazione".

Vary protegge i diritti di accesso?

No. Partecipa alla selezione della rappresentazione; l'autorizzazione rimane separata.

Tutte le API dovrebbero essere memorizzate nella cache?

No. I vantaggi dipendono da costi, attualità e rischio. Le risposte sensibili possono giustificare l'evitare cache condivise.

Riferimenti ufficiali

I riferimenti supportano il metodo. Adattare i controlli al proprio contesto; non costituiscono una certificazione. I titoli dei riferimenti originali e i documenti di origine potrebbero essere in un'altra lingua.

Riferimenti consultati il .