Я заметил, что Chrome кэшировал видеофайл.Я заменил его другим на сервере, и Chrome продолжал обслуживать старый из кэша (используя JW flash player 5)
Заголовки запроса выглядят так:
joe@joe-desktop:~$ wget -O - -S --spider http://www.2xfun.de/files_geheimhihi14/20759.mp4
Spider mode enabled. Check if remote file exists.
--2011-05-15 22:40:56-- http://www.2xfun.de/files_geheimhihi14/20759.mp4
Resolving www.2xfun.de... 213.239.214.112
Connecting to www.2xfun.de|213.239.214.112|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Date: Sun, 15 May 2011 20:40:56 GMT
Server: Apache
Last-Modified: Sun, 15 May 2011 20:37:59 GMT
ETag: "89b38-3bb227-4a35683b477c0"
Accept-Ranges: bytes
Content-Length: 3912231
Cache-Control: max-age=29030400, public, must-revalidate
Expires: Sun, 15 Apr 2012 20:40:56 GMT
Connection: close
Content-Type: video/mp4
Length: 3912231 (3.7M) [video/mp4]
Remote file exists.
IЯ использую mod_headers и mod_expires в apache2 следующим образом:
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4)$">
ExpiresDefault A29030400
Header append Cache-Control "public, must-revalidate"
</FilesMatch>
Правильно ли я произвел повторную проверку правильности или что-то в этом роде?
edit:
Чтобы сделать пример использования понятным: я хочуфайлы для кэширования, потому что они довольно большие, и я хочу сохранить пропускную способность.Но с другой стороны, я хочу, чтобы файлы были повторно проверены.Таким образом, клиент выполняет запрос HEAD и проверяет, изменился ли контент (вот для чего предназначен этот etag), и выполняет повторную выборку только при необходимости.