HTTP 캐시 / ETag && Last-Modified

김성훈·2022년 2월 17일
0

HTTP 정리

목록 보기
9/10

<출처>

인프런/ 김영한 /모든 개발자를 위한 HTTP 웹 기본 지식

캐시

자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소



똑같은 요청을 2번해도 계속 네트워크를 타고 다운로드를 받아야 한다.
데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.
• 인터넷 네트워크는 매우 느리고 비싸다.
• 브라우저 로딩 속도가 느리다.
• 느린 사용자 경험

헤더에 캐시 정보를 넣어둘 수 있다.



캐시 적용
• 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.
• 비싼 네트워크 사용량을 줄일 수 있다.
• 브라우저 로딩 속도가 매우 빠르다.
• 빠른 사용자 경험

하지만 유효시간이 지났다면?



캐시 시간 초과
• 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다.
• 이때 다시 네트워크 다운로드가 발생한다.

검증 헤더와 조건부 요청

데이터가 마지막에 수정된 시간을 넣어준다



만약에 캐시에 데이터 최종 수정일이 있으면 서버에 요청을 보낼때 if-modified-since 붙혀서 넘긴다

그러면 서버에서 요청을 받을 때 데이터 수정일을 검증한다.

그대로면 HTTP 응답을 보낼 때 304 Not Modified 보낸다.
바디 부분을 빼고 헤더만 보낸다.
용량 개이득

헤더 정보를 통해서 캐시를 다시 세팅한다.

검증 헤더와 조건부 요청2






⭐ 캐시 제어 로직을 서버에서 완전히 관리

profile
"한 명이 걷는 천 걸음 보다 천 명이 함께 걷는 한 걸음이 성공의 시작이고 완성이다"

0개의 댓글