HTTP 캐시는 크게 강력한 캐시(Strong Cache)와 협상 캐시(Negotiation Cache)로 나뉩니다. 강력한 캐시는
Cache-Control의 max-age 디렉티브로 제어하며, 만료 전에는 서버 요청 없이 캐시된 응답을 사용합니다. 협상 캐시는 ETag/If-None-Match 또는 Last-Modified/If-Modified-Since 헤더 쌍을 사용하여 서버에 리소스 변경 여부를 확인합니다. 변경되지 않았으면 304 Not Modified로 응답하여 대역폭을 절약합니다.