Cache

hankyulee·2024년 8월 11일
0

서버에서 이미지를 가져와서 사용할때
Url을 먼저 가져온다음에 그 Url에서 이미지를 가져온다.
매번 그렇게하기에는 네트워크 비용이 든다.

메모리 캐시와 디스크 캐시에 저장하자.
(앱 종료시 삭제되는지 유무가 다르다.)
메모리 캐시에 없으면, 디스크 캐시에서 가져오자.. 이런 개념인데..
그 이미지가 변경되면 어떻게 할 것인가..?
Etag 라는 HTTP헤더키에 대한 값을 저장해놓고 헤더에 넣어서 서버에 요청하면 변경되었는지 안되었는지 온다. 변경되었으면 새로운 Etag값과 200OK와 이미지가 올터이니 그 이미지를 캐시등에 저장한다.

Etag는 리소스 특정 버전에 대한 고유값이라고 할 수 있다.
이미지가 바뀌지 않았다면, 응답으로 304 Not modified를 보내서 response body에 대한 트래픽을 아낄 수 있다. Etag 예를들면 6345648b-1f101 이런식으로 생겼다.

0개의 댓글