Почему браузеры не кэшируют эти статические файлы?

Вот пример запроса / ответа в файле JavaScript:

Request URL:http://local/index.js?time=1367958844038
Request Method:GET
Status Code:200 OK

Request Headers
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
DNT:1
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31

Response Headers
cache-control:max-age=31536000
content-encoding:gzip
content-type:application/javascript
expires:Wed, 07 May 2014 20:34:04 GMT
last-modified:Tue, 07 May 2013 20:34:04 GMT
transfer-encoding:chunked

Как вы можете видеть, сервер отвечает контролем кэша, срок его действия и даже последнее изменение, но каждый раз, когда я перезагружаюсь либо с F5, либо нажимая ввод в строке адреса, запрос выглядит одинаково (я бы ожидал, что браузер отправит if-Modified-Since, так далее.)

Это происходит как минимум в Chrome и Firefox.

1 ответ

Решение

Возможно, потому что URL time параметр меняется с каждым запросом.

Так как URL отличается, браузер не может использовать ранее кэшированный ответ.

Другие вопросы по тегам