2012-06-05 3 views
1

언제든지 window.location.reload()를 수행 할 때마다 내 웹 페이지의 이미지 요청이 서버로 전송된다는 것을 알았습니다. 이미지는 만료일로 캐시되므로 대신 캐시에서로드해야한다고 생각합니다. 서버에서 가져온 것은 모두 304 개이므로 수정 된 페이지에 많은 이미지가 있으므로 페이지를 새로 고칠 때 각 이미지에 대한 요청을 원하지 않습니다.페이지 다시로드 및 이미지 캐싱

제 질문은 브라우저가 캐시에서 서버를로드하는 대신 서버에 연결하려고하는 이유입니다.

감사합니다.

+0

이미지가 만료 날짜로 캐시되었다고 말할 때 HTTP Expires 헤더를 수동으로 설정한다는 의미입니까? 대부분의 서버는 기본적으로 Last-Modified 헤더를 보내며, 이미지를 업데이트해야하는지 여부를 결정하는 데 사용됩니다 (아래 설명 된대로 304 수정되지 않은 결과가 발생 함). – netfire

답변

0

304 Not Modified은 캐시에서 다시로드해야 함을 브라우저에 나타냅니다. 보낸 바이트 수를 보면 캐시에서 다시로드 할 때 1KB 미만이어야합니다.

+0

수정되지 않은 경우 304 Not Modified 읽기가 캐시에서 읽히지 만 서버에서 확인하지 않고 캐시에서로드하기를 원합니다. – y62wang

+0

그건 웹 작동 방식이 아닙니다. 콘텐츠를 변경하는 문제라면 ajax를 사용하여 페이지의 특정 영역을 가져 와서 변경해야하지만 'window.location.reload()'를 실행하면 사용자가 새로 고침을 클릭 할 때와 구별 할 수없는 모든 의도와 목적으로 사용됩니다 버튼을 클릭하십시오. – JaredMcAteer

+0

캐시 방법 3 절 [여기]에서 설명한대로 HTTP Expires 헤더를 서버에 추가 요청을 보내지 않도록 수동으로 설정할 수 없어야합니다 (http://betterexplained.com/articles/how-to- http-caching /와 사이트 최적화). – netfire