HTTP를 쓰다 보면 가장 이해하기 어려운 영역 중 하나가 캐시(Cache)다.Cache-Control, ETag, If-None-Match 같은 개념은 많이 들어봤지만, 정확히 무엇을 보장하는지는 모호한 경우가 많다.이 글에서는 HTTP 캐시가 왜 존재하는지, 그리고 왜 이렇게 복잡한 규칙을 가지게 되었는지를 RFC 기준으로 정리한다.1. HTTP Cache는 왜 필요한가?HTTP는 네트워크 위에서 동작하는 프로토콜이다.즉,느릴 수 있고비쌀 수 있으며항상 안정적이지 않다이 문제를 완화하기 위해 HTTP는 처음부터 캐시를 전제로 설계되었다.캐시의 목적은 단순하다. 같은 요청에 대해 매번 서버까지 가지 않아도 되게 만드는 것 2. HTTP Cache의 기본 모델HTTP 캐시는 다음 위치에 존재할 수 있다...