2011-03-06 3 views
0

내 사이트의 특정 이미지가 제대로 캐싱되지 않는다고 확신합니다. 최대한 빨리 헤더를 설정했지만 새로 고침 버튼을 누를 때마다 다시 다운로드하는 것처럼 보입니다.이미지가 캐싱되지 않습니까?

예를 들어, 특정 이미지는 항상 다운로드하는 데 1 초 이상 걸립니다. 심지어 이후에이 캐시되어야합니다. 다음은 응답 헤더입니다.

HTTP/1.1 200 OK 
Date: Sun, 06 Mar 2011 12:51:52 GMT 
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.16 
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT 
Accept-Ranges: bytes 
Content-Length: 19211 
Cache-Control: max-age=630323456, public 
Expires: Wed, 03 Mar 2021 12:51:52 GMT 
Keep-Alive: timeout=5, max=98 
Connection: Keep-Alive 
Content-Type: image/png 

잘못된 것이 있습니까? 감사.

UPDATE

<FilesMatch "\.(htm|html|php)$"> 
    Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT" 
</FilesMatch> 
+0

캐시 크기는 무엇입니까? firefox 주소 표시 줄에 "about : cache"를 입력하고 파일이 캐시에 있는지 확인하십시오. – Zimbabao

+0

@Pekka : 예. 구글 당 리소스 : "마지막으로 수정 한 날짜를 리소스가 변경된 마지막 시간으로 설정합니다. 마지막으로 수정 한 날짜가 충분히 과거이면 브라우저에서 다시 채울 가능성이 있습니다." – StackOverflowNewbie

+0

@Stack 물론, 나는 생각하지 않았습니다. 흠, 파이어 버그에서 어떤 반응을 보이나요? 다시로드되는지 계속 확인할 수 있습니까? 실례가있을 수 있습니까? @Zimbabao에서 언급 한대로 로컬 캐시가 실제로 문제가 될 수 있습니다. –

답변

1

마지막으로 수정 1970을 말한다, 당신의 최대 사용 기간은 630,323,456초 (십구년)입니다. 따라서 파일은 1989 년 이래로 만료되었으므로 다시 다운로드해야합니다. 브라우저는해야 할 일을하고 있습니다.

솔루션 :

  1. 변경 마지막으로 수정 (지난 몇 년 동안 아마 약간의 시간)을 실제 마지막으로 수정에

  2. 변경

  3. 에 최대 사용 기간
  4. Expires 헤더를 제거하십시오. 또한 최대 연령이있을 때 재정의됩니다. See RFC2616 section 14.9.3. 또는 Cache-Control 헤더를 삭제하고 Expires 헤더 만 유지하십시오. 어느 쪽이든 괜찮지 만 둘 다 사용하지 말고 하나만 사용하십시오.

관련 문제