много раз поднималась тема, но ответа я не нашёл...
апач настроил следующим образом
CODE ( htmlphp):
скопировать код в буфер обмена
ExpiresActive On ExpiresDefault "access plus 3600 seconds" ExpiresByType image/x-icon "access plus 2592001 seconds" ExpiresByType image/jpeg "access plus 2592002 seconds" ExpiresByType image/png "access plus 2592003 seconds" ExpiresByType image/gif "access plus 2592004 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592005 seconds" ExpiresByType text/css "access plus 604806 seconds" ExpiresByType text/javascript "access plus 604807 seconds" ExpiresByType application/javascript "access plus 604808 seconds" ExpiresByType application/x-javascript "access plus 604809 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "max-age=2592001, private" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "max-age=604802, private" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "max-age=604803, private" </filesMatch>
при обращении к странице браузер передаёт заголовки (смотрю в средствах разработчика IE)
CODE ( htmlphp):
скопировать код в буфер обмена
Ключ Значение Запрос GET /ATP/js/jquery-ui-1.10.3.custom.js HTTP/1.1 Accept application/javascript, */*;q=0.8 Referer http://localhost/ATP/_AUTOACC/ Accept-Language ru-RU User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko Accept-Encoding gzip, deflate Host localhost Connection Keep-Alive Cache-Control no-cache Cookie PHPSESSID=kpggqi2divqt4jp0i6oon49j17
и получает ответ
CODE ( htmlphp):
скопировать код в буфер обмена
Ключ Значение Ответ HTTP/1.1 200 OK Date Wed , 04 Feb 2015 10:48:54 GMT Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/0.9.7g PHP/5.4.22 Last-Modified Mon, 10 Jun 2013 22:16:34 GMT ETag "1000000014826-35b36-4ded422231480" Accept-Ranges bytes Cache-Control max-age=604803, private Expires Wed, 11 Feb 2015 10:49:02 GMT Keep -Alive timeout =5 , max=100Connection Keep-Alive Content-Type application/javascript Content-Length 55 813
и мне непонятно почему скрипт не берёт из кеша (возвращает статус 200, а не 304).
если я правильно понял, то браузер передаёт Cache-Control no-cache и не передаёт If-Modified-Since If-None-Match и вероятно в этом проблема.
как быть?
UPD: на туже страницу хром отдаёт нужные заголовки и соотвествено получает 304 код и честно берёт скрипты из кэша. получается косяк в IE11 ?(Отредактировано автором: 04 Февраля, 2015 - 15:01:15)
|