HTTP Caching

Comecei meus estudos sobre cache, como eh uma extensa area de estudo vou adicionar alguns termos aqui, enquanto evoluo meu conhecimento


 * expirtation (expiracao)


 * validation (validacao)


 * invalidation (invalidacao)

expiration
GET / HTTP/1.1 Host: ebasso.net Expires: 0

GET / HTTP/1.1 Host: ebasso.net Expires: Thu, 01 Jan 1970 00:00:00 GMT

GET / HTTP/1.1 Host: ebasso.net Cache-Control: max-age=1800, public

Onde:


 * max-age=1800 informa que o conteudo pode ser cacheavel por 1800 segundos,
 * public informa que o conteudo pode ser cacheavel por caches locais e compartilhados

GET / HTTP/1.1 Host: ebasso.net Cache-Control: stale-if-erro=600, stale-while-revalidate=600

Onde:


 * stale-if-erro com tolerancia a falhas, disponivel durante downtime
 * stale-while-revalidate disponivel durante revalidacao

validation
GET / HTTP/1.1 Host: ebasso.net Etag: 9876

Onde:


 * Etag um identificador para a sua resposta

GET / HTTP/1.1 Host: ebasso.net If-None-Match: 9876

Onde:


 * If-None-Match o navegador questiona o servidor se o conteúdo foi modificado

GET / HTTP/1.1 Host: ebasso.net Last-Modified: Mon, 23 Jul 2012 18:45:18 GMT

Onde:


 * Last-Modified informa ao cliente (Navegador/Cache) sobre a ultima alteracao

GET / HTTP/1.1 Host: ebasso.net If-Modified-Since: Mon, 23 Jul 2012 18:45:18 GMT

Onde:


 * If-Modified-Since o cliente questiona se o conteudo foi modificado desde a ultima visita.