오봉이와 함께하는 개발 블로그
HTTP - 캐시 기본 동작 본문
728x90
캐시 기본 동작
캐시가 없을 때
- 브라우저에서 star.jpg를 다운로드 받았다.
- 두 번째 요청을 캐시가 없기 때문에 첫 번째 요청과 똑같은 응답을 다시 내려줬다.
브라우저에서 star.jpg를 다운로드 받았다.
데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.
인터넷 네트워크는 매우 느리고 비싸다.
브라우저 로딩 속도가 느리다.
느린 사용자 경험을 준다.
캐시 적용
- cache-control: max-age=60를 통해 최대 60초간 캐시에 저장하도록 한다.
- 두 번째 요청할 때는 캐시를 먼저 검색해서 유효 시간을 검증하고 유효 시간이 지나지 않았으면 캐시 저장소에서 조회한다.
- 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.
- 비싼 네트워크 사용량을 줄일 수 있다.
- 브라우저 로딩 속도가 매우 빠르다.
- 빠른 사용자 경험을 준다.
캐시 시간 초과
- 캐시 유효 시간이 지났기 때문에 똑같은 서버에 똑같은 요청을 다시 한다.
똑같은 요청에 대한 결과를 받아서 다시 캐시에 저장한다.
캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고 캐시를 갱신한다.
이때 다시 네트워크 다운로드가 발생한다.
의문
캐시 시간이 초과되어 다시 다운로드를 서버에서 기존 데이터를 변경하지 않았다면 불필요하게 다시 다운로드 받을 필요가 있을까?
인프런 김영한 지식 공유자님의 강의 - 모든 개발자를 위한 HTTP 웹 기본 지식
728x90
'이론' 카테고리의 다른 글
HTTP - 캐시와 조건부 요청 헤더, 프록시 캐시, 캐시 무효화 (0) | 2022.08.08 |
---|---|
HTTP - 검증 헤더와 조건부 요청 (캐시) (0) | 2022.08.08 |
HTTP - 인증, 쿠키 (0) | 2022.08.07 |
HTTP - 콘텐츠 협상, 전송 방식, 일반 정보, 특별한 정보 (0) | 2022.08.07 |
HTTP - HTTP 헤더 개요, 표현 (0) | 2022.08.06 |
Comments