← 질문 목록
#146깊이 0
재검증 없이 응답을 써도 되는 기준은?
저장된 응답이 max-age 안에 있고 재검증을 강제하는 지시자가 없으면 그냥 쓴다. no-cache가 함께 붙어 있으면 신선해도 서버에 물어야 한다.
기간이 지나면 보통 검증자를 붙여 바뀌었는지 묻는다. 다만 stale-while-revalidate 같은 지시자가 붙어 있으면 낡은 것을 그대로 쓰기도 한다.
| 지시자 | 저장 | 재사용 조건 |
|---|---|---|
max-age | 가능 | 신선한 동안 즉시 사용 |
no-cache | 가능 | 매번 재검증 |
no-store | 금지 | 재사용 불가 |
no-cache는 저장 금지가 아니다. 캐시에 보관해도 되지만 사용할 때마다 ETag나 Last-Modified로 확인하라는 뜻이다.
변경이 없으면 서버는 본문 없이 304 Not Modified를 보낸다. 전송량은 줄지만 네트워크 왕복은 남는다.
해시가 포함된 정적 파일명에는 긴 max-age와 immutable이 잘 맞는다. 개인화 응답은 private과 Vary를 함께 검토해야 한다.