캐시와 조건부 요청
캐시 기본 동작
1.캐시가 없을때
(request)
Get /star.jpg
(response)
HTTP/1.1 200 ok
content-type : image/jpeg
content-length : 34012
(star.jpg)
//각 할당된 용량 1.1M 가정
http 헤더 : 0.1M
http 바디 : 1.0M
(별 이미지)
이때 캐시가 없는 상태에서 요청하여 1.1m의 응답을 받고
다시 요청하면 캐시가 없기 떄문에 1.1M의 응답을 또 받아 총 2.2M를 사용한다.
-데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야한다.
-인터넷 네트워크는 매우 느리고 비싸다
-느린 사용자 경험
2.캐시적용
(request)
Get /star.jpg
(response)
HTTP/1.1 200 ok
content-type : image/jpeg
cache-control : max-age=60 //60초 동안 캐시 저장
content-length : 34012
총1.1M를 사용
-캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.
-비싼 네트워크 사용량을 줄일 수 있다.
-브라우저 로딩 속도가 매우 빠르다.
-빠른 사용자 경험
3.캐시 시간 초과
(request)
Get /star.jpg
(response)
HTTP/1.1 200 ok
content-type : image/jpeg
cache-control:max-age=60
content-length : 34012
-캐시 유효 시간이 초과되면 서버를 통해 데이터를 다시 조회하고 캐시를 갱신한다.
-이때 다시 네트워크에 다운로드가 발생한다.
이때 이미지에 변경은 없는데 다시받아야 한다면
즉 서버가 데이터와 시간이 경과 되었어도 클라이언트의 캐시값과 통신한다면
꼭 메모리를 써가며 다시 다운받아야 할까?
'HTTP' 카테고리의 다른 글
3월 13일 HTTP 캐시 검증헤더와 조건부 요청2 (0) | 2023.03.13 |
---|---|
3월 13일 HTTP 캐시 검증헤더와 조건부 요청1 (0) | 2023.03.13 |
3월 10일 HTTP 쿠키 (0) | 2023.03.10 |
3월 10일 HTTP 일반정보 (0) | 2023.03.10 |
3월 10일 HTTP 전송방식 (0) | 2023.03.10 |