2010-01-14 4 views
12

웹 사이트 로딩 시간을 최적화하려고합니다. 내가 한 일 중 하나는 정적 콘텐츠에 대해 far-futures expires 헤더를 설정하여 캐시되도록하는 것입니다 (Yahoo 설명). 그러나 캐시 된 경우에도 브라우저는 계속 요청을 보내고 해당 자원에 대해 304 (Not Modified) 응답을받습니다.머지 않아 헤더와 HTTP가 만료됩니다.

304 응답이 매우 작고 성능상의 영향이 거의 없다는 것을 알았지 만 브라우저가 더 이상 요청을 보내지 않고 항상 해당 자원에 대한 캐시를 사용하도록 만드는 방법이 있습니까?

+1

브라우저에 따라 달라지지 않을까요? – danben

답변

18

etags 및 만료일 모두 보내는 경우 turning off ETags을 시도 할 수 있습니다. 로드 밸런서가있는 경우에는 특히 suggest turning off eTags 사람이 있습니다.

페이지에서 다시로드를 누르면 Firefox가 모든 리소스를 다시 확인합니다. 이들은 304와 함께 다시 올 것이다. shift-reload를 누르면 etags없이 모든 리소스를 다시 요청합니다. 따라서 새로 고침/다시로드 버튼을 사용하여 마지막 수정/etag 설정을 테스트하지 마십시오.

+3

아, 그건 내 문제 였어! 액세스 기록이 있는지 확인하기 위해 브라우저 새로 고침을 사용하고있었습니다. 일반 링크를 사용하여 액세스하면 304가 사라집니다. 감사! –

+2

브라우저 새로 고침으로도 실패했습니다. 이것을 공유해 주셔서 감사합니다! – nnevala