저는 브라우저가 CSS, 이미지, js 등과 같은 다른 리소스를 캐시하도록 강제합니다. 영원히입니다. 페이지에서 수천 개의 작은 이미지가있을 수 있으므로 브라우저가 이미지/CSS를 새로 고치려고하지 않는 것이 중요합니다. 브라우저가 새로 고치려고하면 서버가 폭파되어 불필요하게 페이지를 새로 고침 모드로 유지합니다. 요청 경로가 변경되지 않으면 images/css가 변경되지 않습니다.브라우저가 새로 고침 할 때 리소스를 다시 요청하지 않도록하려면 어떻게해야합니까?
"http://example.com/img/get.php?n=someimage.jpg&v=7"
하고 스크립트가 자원 보내기 전에 이러한 헤더를 보내는 :
header("Cache-Control: public");
header("Expires: Tue, 19 Jan 2037 00:00:00 GMT");
header("Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT");
을
는 지금은 같은 URL로 스크립트로 설정 이미지/CSS에 대한 경로를 가지고 그러나 새로 고침 버튼이 눌려지면 Chrome과 Firefox는 모두 이미지/CSS를 다시 요청합니다. Firefox는 Firefox와 달리 주소 표시 줄에있는 Enter를 누르면 요청을 보내는 것처럼 보입니다.
내 질문은 Expires 헤더가 사용자가 새로 고침을 눌러도 2037 년까지 요청을 다시하지 않도록해야하기 때문에 제 질문에 대한 이유입니다. 내가 뭔가 잘못하고 있는거야, 아니면 뭔가 빠졌어?
새로 고침 버튼을 "내 캐시 새로 고침"으로 변경했습니다. 브라우저가 이것을하지 않으면 나는 소변을 보게 될 것입니다! – Stephen