2010-11-29 5 views
1

Apache 2.2.16을 사용하고 있습니다.만료/캐시 제어 헤더 문제

내 htdocs에 폴더에 다음 HTML 파일을 가지고 : 나는 그렇다, 그것은 또 다른 요청을하지 않도록 브라우저에서 CSS 파일 캐시를 만들기 위해 노력하고있어

<html> 
<link media="screen" type="text/css" href="/css/test.css" rel="stylesheet" /> 
<body>XXXX</body> 
</html> 

첫 번째 페이지로드시.

그러나 새로 고침을 누를 때마다 CSS 파일이 서버에서 다시로드되었음을 알 수 있습니다. 내 서버 로그에있는 파일에 대한 200 개의 응답 코드가 있습니다.

나는 내 httpd.conf 파일에 다음을 가지고 :

방화범에 의해보고 여기
<LocationMatch "\.(css)$"> 
Header set Cache-Control "max-age=2592000" 
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT" 
Header unset Last-Modified 
Header set Content-Type text/css 
Header unset ETag 
</LocationMatch> 

내 응답 헤더입니다

Date Mon, 29 Nov 2010 10:48:49 GMT 
Server Apache/2.2.16 (Win32) 
Accept-Ranges bytes 
Content-Length 18107 
Cache-Control max-age=2592000 
Expires Thu, 15 Apr 2020 20:00:00 GMT 
Content-Type text/css 
Keep-Alive timeout=5, max=97 
Connection Keep-Alive 

나는 대한 몇 가지 기사를 읽었습니다 캐싱 헤더를 설정하지만, 제대로 작동하는지 알 수 없습니다.

큰 호응을 얻었습니다.

답변

0

수동으로 설정 한 구성에서 비슷한 문제가 발생하여 & 캐시 제어가 만료되었습니다. 단지 mod_expires에게 "무거운 짐을 싣기"은 이미 이러한 문제를 해결할 수 있습니까?

+0

mod_expires를 사용하면 같은 문제가 발생합니다 ... Expires/Cache-Control 헤더를 설정하기 위해 mod_headers를 사용하는 대신 "ExpiresDefault"액세스와 함께 10 년 "을 내 LocationMatch에 추가했습니다. –

+0

D' oh! Chrome의 개발자 코드와 Firebug를 사용하는 Firefox의 응답 코드를 모니터링하고 있습니다. Firebug에서 브라우저 캐시를 비활성화했습니다. Chrome의 개발자 도구가 broswer 캐시를 사용 중지했는지 여부는 알 수 없습니다. 그러나 Fiddler2를 사용하여 도구를 비활성화하고 트래픽을 검사하면 예상대로 캐싱이 수행되는 것처럼 보입니다! –