Есть ли в WebKit Cache сторонние ресурсы? - PullRequest
1 голос
/ 28 июня 2010

В Chrome и Safari удаленное изображение, включенное в мой сайт, кажется, никогда не запрашивается с помощью кэширующих заголовков (If-Modified-Since и т. Д.), Несмотря на то, что сервер возвращает соответствующую информацию. Локальные ресурсы, с другой стороны, запрашиваются с этими заголовками. Firefox, напротив, запрашивает удаленные ресурсы с помощью кэширующих заголовков.

Это для изображений на S3, хотя я не думаю, что это уникально для S3 ...

Обновление: Вот фактический запрос, который я вижу через панель ресурсов Chrome.

Request URL:http://mobtest.s3.amazonaws.com/4MKHZL-114.png
Request Method:GET
Status Code:200 OK

Заголовки запроса

Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Cache-Control:max-age=0
Referer:http://mobtest.s3.amazonaws.com/4MKHZL-114.png
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4

Заголовки ответа

Cache-Control:public, max-age=86400
Content-Length:4074
Content-Type:image/png
Date:Wed, 30 Jun 2010 12:15:42 GMT
ETag:"7e4739d5527ada6bb327f1e27ee656ef"
Last-Modified:Tue, 29 Jun 2010 13:40:08 GMT
Server:AmazonS3
x-amz-id-2:MKTS28Zu4zTsWFjXUTzvmRY214TO9LTKTxtgW1psWKa/JY2pnwmO9rxs8fyHd/O/
x-amz-request-id:F6047ADD0FD6D885
x-amz-version-id:O2OTsDbU4uKOwze7rbK_Do39U_Xhpnyp

Повторение запроса не приводит к отправке дополнительных заголовков Chrome (и, как уже упоминалось ранее, Safari). Напротив, быстрое обновление в Firefox дает мне следующее:

Status: 304 Not Modified

Заголовки ответа

x-amz-id-2  IbhwfAP7FhIN7jtn2FrsjOkVZ8sIKJjv5llevKgw04y2xM+29GSFdGyQNXjiBaMY
x-amz-request-id    258F30A4CC2AC870
Date    Wed, 30 Jun 2010 12:19:55 GMT
Cache-Control   public, max-age=86400
Last-Modified   Tue, 29 Jun 2010 13:40:08 GMT
x-amz-version-id    O2OTsDbU4uKOwze7rbK_Do39U_Xhpnyp
Etag    "7e4739d5527ada6bb327f1e27ee656ef"
Content-Type    image/png
Content-Length  4074
Server  AmazonS3

Заголовки запроса

Host    mobtest.s3.amazonaws.com
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300
Connection  keep-alive
If-Modified-Since   Tue, 29 Jun 2010 13:40:08 GMT
If-None-Match   "7e4739d5527ada6bb327f1e27ee656ef"
Cache-Control   max-age=0

Обновление 2: И теперь я вижу, что Chrome кэширует содержимое. Странно ... Я собираюсь закрыть этот вопрос и дать Марк ответ.

1 Ответ

1 голос
/ 29 июня 2010

Если сервер отправляет обратно заголовок «Expires», который находится довольно далеко в будущем, то браузер может решить, что контент все еще достаточно свеж в своем кеше и что ему даже не нужно делать запрос на сервер вообще. Вы можете просмотреть заголовки, отправляемые обратно с сервера, и убедиться, что для них установлены разумные значения. См. ETag vs Header Expires для получения дополнительной информации. Не стесняйтесь обновить свой вопрос, указав фактический URL-адрес или заголовки, отправленные обратно с сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...