2. Panoramica del funzionamento della cache
Un corretto funzionamento della cache preserva la semantica dei trasferimenti HTTP ([RFC7231]) eliminando al contempo il trasferimento di informazioni già detenute nella cache. Sebbene la memorizzazione in cache sia una funzionalità completamente opzionale (OPTIONAL) di HTTP, si può presumere che il riutilizzo di una risposta in cache sia auspicabile e che tale riutilizzo sia il comportamento predefinito quando nessun requisito o configurazione locale lo impedisce. Pertanto, i requisiti della cache HTTP mirano a impedire che una cache archivi una risposta non riutilizzabile o riutilizzi in modo inappropriato una risposta archiviata, anziché imporre alle cache di archiviare e riutilizzare sempre determinate risposte.
Ogni voce di cache è costituita da una chiave di cache e da una o più risposte HTTP corrispondenti a richieste precedenti che hanno usato la stessa chiave. La forma più comune di voce di cache è il risultato positivo di una richiesta di recupero: ossia una risposta 200 (OK) a una richiesta GET, che contiene una rappresentazione della risorsa identificata dal target della richiesta (sezione 4.3.1 di [RFC7231]). Tuttavia, è anche possibile memorizzare in cache reindirizzamenti permanenti, risultati negativi (ad esempio 404 (Not Found)), risultati incompleti (ad esempio 206 (Partial Content)) e risposte a metodi diversi da GET, se la definizione del metodo consente tale memorizzazione e definisce qualcosa di adatto all'uso come chiave di cache.
La chiave di cache primaria è costituita dal metodo della richiesta e dall'URI di destinazione. Tuttavia, poiché le cache HTTP comunemente in uso oggi sono in genere limitate a memorizzare le risposte a GET, molte cache rifiutano semplicemente gli altri metodi e usano solo l'URI come chiave di cache primaria.
Se il target di una richiesta è soggetto a negoziazione del contenuto, la sua voce di cache può essere costituita da più risposte archiviate, ciascuna differenziata da una chiave secondaria basata sui valori dei campi di intestazione di selezione della richiesta originale (sezione 4.1).