HTTP Caching

J·2024년 1월 7일
1

웹 공부

목록 보기
9/9

HTTP 캐싱

이전에 받아온 리소스를 재사용하는것. 웹 사이트의 속도를 개선할 수 있고 서버의 부하를 완화할 수 있다. private cache와 shared cache 크게 두 종류로 나눌 수 있다.

private cache

웹 브라우저에 저장됨. 단일 사용자가 전용으로 사용. 뒤로 가기, 앞으로 가기 등등

shared cache

여러 사용자에 의해 재사용되는 응답 저장. 웹 브라우저와 서버 사이에서 동작함.

  • proxy cache
    • forward proxy에서 동작하는 캐시
  • managed cache
    • CDN(content delivery network, 지리적으로 분산된 서버들을 연결한 네트워크), 리버스 프록시에서 동작하는 캐시

캐시 엔트리

HTTP 캐시에 저장되는 데이터들을 뜻함. 각 엔트리를 구분하는 기준은 캐시이고, 캐시 키는 HTTP 요청 메소드와 URI 조합으로 이루어짐.

  • 캐싱되는 대상 종류
    • HTML 문서, 이미지, 파일 등의 리소스
    • 영구적인 리다이렉트 (301 - moved permanently) 응답
    • 404 응답 페이지
    • 완전하지 않은 결과 (206 - Partial Content) 응답

캐싱 제어

  • Cache-Control 헤더
    캐시하지 않음
    Cache-Control : no-store
    
    캐시하지만 재검증 (캐시 복사본을 사용자자에게 주기 전에 서버로 유효성 확인 요청을 보냄)
    Cache-Control : no-cache
    
    만료
    Cache-Control : max-age=seconds
  • Pragma 헤더 HTTP/1.0용 헤더이다. 캐시 검증을 위해 서버에 요청을 보내는것이 Cache-Control : no-cache와 유사함. 하지만 HTTP 응답에 명시되지 않은 헤더여서 Cache-Control 헤더의 신뢰할만한 대체재로 사용될 수 없음.
    Pragma : no-cache

1개의 댓글

comment-user-thumbnail
2024년 1월 8일

처음 보는 개념이네요!
알듯한 내용은 private cache 이려나요? 왠지 history 객체에 저장되는 내용을 가르키는 것 같네요 ㅎ
오늘도 알아야할 개념이 아직 많이 남았다는 것을 느끼게 해주는 글이었습니다!

답글 달기