[ HTTP ] Cache의 기본 개념

jwkwon0817·2023년 9월 2일
0

Network

목록 보기
1/1
post-thumbnail

만약 클라이언트가 서버에 /image로 요청했을 때 서버에서 강아지 이미지를 응답하는 서비스가 있다고 가정합시다.

그러면 매번 /image로 요청할 때마다 서버와 통신을 해야한다는 문제점이 발생합니다.


그래서 나온 개념이 바로 Cache입니다.

먼저 처음에 접속했을 때는 서버와 통신을 해서 이미지를 받아낸 다음에 그 이미지를 브라우저 Cache 저장소에 저장합니다.

이후에 같은 경로로 요청을 했을 때는 서버와 통신하는 것이 아니라 자신의 로컬 PC에 저장되어있는 이미지를 불러냅니다.


하지만 이미지가 바뀔 수도 있으니 캐시 유효 시간을 설정해 주어야합니다.

만약 캐시 유효 시간을 60초로 설정해 둔다고 치면 처음에 요청했을 때는 이미지를 받아내고 캐시 저장소에 저장한 다음에 앞으로 60초 동안 클라이언트가 같은 경로로 요청하면 로컬에서 이미지를 불러내는 방식입니다.

60초가 지나면 다시 서버와 통신해서 이미지를 받아냅니다.


하지만 오랜 기간 이미지가 바뀌지 않을 수 있으니 서버에서 어떠한 조치를 취해서 이를 조금 더 효율적으로 바꿀 수도 있습니다.

바로 304 Not Modified HTTP 상태 코드를 반환하는 것입니다.

그렇게 되면 클라이언트는 자신의 계속 캐시 저장소에서 이미지를 불러서 화면에 표시합니다.


Cache를 잘 사용하면 브라우저 로딩 속도를 매우 빠르게 만들 수 있습니다.

profile
SRIHS 119th SW

0개의 댓글