Effective-Java-Camp / http-the-definitive-guide

[DONE] HTTP 완벽 가이드 스터디 레포지토리
0 stars 0 forks source link

[2부 7장] 캐시 #7

Open qkrqudcks7 opened 2 years ago

qkrqudcks7 commented 2 years ago

7. 캐시

웹 캐시란?

자주 쓰이는 문서의 사본은 자동으로 보관하는 HTTP 장치이다.

7.1 불필요한 데이터 전송

7.2 대역폭 병목

7.3 갑작스런 요청 쇄도 (Flash Crowds)

7.4 거리로 인한 지연

7.5 적중과 부적중

7.5.1 재검사 (Revalidation)

image

GET If-Modified-Sice 요청이 서버에 도착했을 때 세 가지 상황

재검사 적중

image

재검사 부적중

객체 삭제

7.5.2 적중률

7.5.3 바이트 적중률

7.5.4 적중과 부적중의 구별

image

현재시간: 2022-08-27 19:30:00, date 헤더는 9:28:08 이므로 캐시된 것.

7.6 캐시 토폴로지

7.6.1 개인 전용 캐시

크롬은 URL + :cache 이라고 입력하면, 해당 페이지에서 캐시 콘텐츠의 목록을 볼 수 있다.

image

7.6.2 공용 프락시 캐시

7.6.3 프락시 캐시 계층들

image

7.7 캐시 처리 단계

image

7.7.1 요청 받기

7.7.2 파싱

7.7.3 검색

7.7.4 신선도 검사

7.7.5 응답 생성

7.7.6 전송

7.7.7 로깅

7.7.8 캐시 처리 플로 차트

image

7.8 사본을 신선하게 유지하기

7.8.1 문서 만료

image

7.8.2 유효기간과 나이

image

7.8.3 서버 재검사

7.8.4 조건부 메서드와의 재검사

7.8.5 If-Modified-Since : 날짜 재검사

7.8.6 If-None-Match : 엔터티 태그 재검사

이런 상황에서 쓰여요

7.8.7 약한 검사기와 강한 검사기

7.8.8 언제 엔터티 태그를 사용하고 언제 Last-Modified 일시를 사용하는가

7.9 캐시 제어

7.9.1 no-cache와 no-store 응답 헤더

image

7.9.2 Max-Age 응답 헤더

7.9.3 Expires 응답 헤더

7.9.4 Must-Revalidate 응답 헤더

7.9.5 휴리스틱 만료

image

7.9.6 클라이언트 신서도 제약

7.10 캐시 제어 설정

7.10.1 아파치로 HTTP 헤더 제어하기

mod_headers

모든 HTML 파일을 캐시되지 않도록 설정하는 예시 image

mod_expires

image

mod_cem_meta

7.10.2 HTTP-EQUIV를 통한 HTML 캐시 제어

image