Cache del proxy HTTP per URL con stringhe di query
Date alle risorse basate su query una politica di cache deliberata, mantenendo i valori dei loro parametri nella chiave della cache.
Una stringa di query non rende una risposta non memorizzabile in cache secondo le regole HTTP moderne. Una risorsa pubblica come /catalog?page=2 può dichiarare direttamente la freschezza prevista:
Cache-Control: public, max-age=60Questa è una politica illustrativa per contenuti pubblici. La risposta deve comunque soddisfare gli altri requisiti di memorizzabilità in cache. I risultati personalizzati non dovrebbero ottenere una cache condivisa solo perché un operatore proxy desidera un tasso di successo migliore.
La query resta parte dell'URI di destinazione usato nella chiave della cache. La pagina 2 e la pagina 3 sono richieste diverse. Rimuovere la query per far sembrare uguali i loro URL può servire un risultato al posto dell'altro; ciò non rende i risultati equivalenti.
La vecchia restrizione HTTP sulla freschezza euristica per gli URL con query è stata rimossa dopo che si è rivelata mal implementata. La freschezza esplicita evita di affidarsi a una congettura della cache, mentre le regole locali del proxy possono ancora escludere determinati URL.
Il normale traffico HTTPS CONNECT lascia la risorsa e la sua politica di cache all'interno di TLS. Il proxy di inoltro a tunnel non ottiene una cache di oggetti per quelle pagine solo perché l'URL usa una query.