Cache
Cache-Control: max-age=604800, public, must-revalidate
Date : 현재날짜..
Cache 헤더에 위처럼 2개만 설정되어 있으면 무조건 1주일간 저장인가요??
궁금한점은
1. 언제부터 1주일간 캐싱하는지 비교대상을 무엇으로 하는지? (빼먹은 것이 있는지..?)
2. 컨텐츠 수정 후 특정 사용자환경에서 수정내역이 보이지 않는데, 헤더를 잘못설정한건지?(Last Modified를 빼먹었다든지..)
3. Last Modified를 헤더에 추가해야 한다면, ".jsp", ".do"와 같이 동적 컨텐츠일 경우 어떻게 Last Modified를 추가하는지?
3번은 여기에 부적합한 질문일 수도 있겠지만 혹시나 하여 질문드립니다..^^
1. 요청한 컨텐츠를 받았알때부터 캐싱. 비교는 컨텐츠 수정한 날짜나 ETag값, 기타태그/설정들 중에서 상황에 맞게 선택해서 합니다.
2. 크롬같은 경우는 네트워크 부하를 줄이기 위해서 아직 만료되지 않은 컨텐츠의 경우 네트워크로 HTTP요청자체를 하지 않아서 그런 경우가 생길 수 있습니다. 자주 업데이트 되는 컨텐츠는 cache-control헤더에 must-revalidate옵션을 넣어주세요.
3. 개발자 정책입니다. 파일(.jsp) 자체의 날짜나, 컨텐츠를 요청한 날짜 혹은 서버에서도 컨텐츠를 캐시한다면 캐시한 날짜, ... 등등...
답변 감사합니다.
"컨텐츠 수정한 날짜"는 헤더에 어떻게 넣어야 할지.. 헤더이름이 무엇인가요?(혹시 Last Modified인지..^^;)
"must-revalidate"는 모두 넣었습니다. 그러면 브라우저에서 무조건 헤더로 비교하는게 아닌가요? 문제되는 환경은 IE11입니다.. 네트워크 단에서도 캐싱이 있다고 하는데 그게 원인일 수도 있을까요?