캐시
- 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소
캐시의 장점
- 비싼 네트워크 사용량을 줄일 수 있다.
- 빠른 브라우저 로딩 속도로 사용자에게 편의를 제공한다.
- 캐시 덕분에 캐시 가능 시간동안은 네트워크를 사용하지 않아도 된다.
캐시가 없다면?
- 비싼 인터넷 네트워크 비용을 계속 지불해야 한다.
- 브라우저 로딩 속도가 느리기 때문에 사용자가 불편할 수 있다.
- 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.
캐시의 기본 동작과정
- 먼저, 첫번째 요청시 클라이언트가 웹 브라우저를 통해
서버에 데이터를 요청한다. (
GET / starts.jpg
)
- 그러면 서버는 데이터와 함께 캐시의 유효시간을 같이 전달해준다.
HTTP/1.1 200 OK
Content-Type: image/jpeg
cache-control: max-age=60 <!--유효시간 60초-->
Content-Length: 34012
1k2k2j19jd-2jlkmmne023u29v9m2312v...
- 웹 브라우저의 브라우저 캐시를 저장해두는 곳에 응답결과를 캐시에 저장한다.
- 후에 두번째 요청이 들어왔을 때,
먼저 캐시를 찾아보아서 응답속도를 크게 높일 수 있다.
- 캐시 시간 초과가 되었다면?
- 물론 유효시간이 끝나고 요청이 되었다면, 다시 전송하게 되고 캐시를 갱신한다.
⇒ 만약 이 과정에서 데이터가 바뀌지 않았다면, 교환할 필요가 있을까?