Estoy usando Chrome y monitoreando las conexiones http. Cargo una página y la respuesta devuelta por el servidor contiene
Cache-Control: max-age=86400
Expires: Thu, 18 Jul 2013 14:51:22 GMT
Por lo tanto, no esperaría que Chrome haga una solicitud al servidor cuando intento volver a cargar esta página. Sin embargo, cuando presiono el botón Recargar, veo una nueva conexión al servidor que a su vez devuelve la misma página con una nueva fecha de vencimiento para el caché.
Alguien tiene una explicación?
EDITAR
Aquí está la solicitud y la respuesta que recibo cada vez que se presiona el botón de recarga (excepto que el tiempo para Date
, Expires
y el valor de CF-RAY
la respuesta cambia cada vez)
Solicitud
GET /mobile_13.xml HTTP/1.1
Host triton.karnaval.com
Cache-Control max-age=0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36
Accept-Encoding gzip,deflate,sdch
Accept-Language en-US,en;q=0.8
Cookie __cfduid=d518a34eae859853e9a8dbfb6eb4078ed1366655468
Respuesta
HTTP/1.1 200 OK
Server: cloudflare-nginx
Date: Wed, 17 Jul 2013 14:51:20 GMT
Content-Type: text/xml
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=86400
Expires: Thu, 18 Jul 2013 14:51:19 GMT
Vary: Accept-Encoding
CF-RAY: 8f7bfeaf5f50697
Content-Encoding: gzip
<?xml version='1.0' encoding='UTF-8'?>
...
Respuestas:
Sí, Chrome intencionalmente "rompe el caché" al establecer max-age en 0 cuando hace clic en "Recargar". Vea la fuente aquí: ResourceFetcher.cpp: 676
y aquí: FrameLoader.cpp: 1176
(Creo que estos son los lugares correctos, no estoy muy familiarizado con el código Chromium).
fuente