Back-End/HTTP

[HTTP][캐시와 조건부 요청] - 프록시 캐시

얄루몬 2022. 2. 27. 23:42

💻본 포스팅은 '모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한'님의 강의를 듣고 작성되었습니다.
https://inf.run/kXeZ

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com


[프록시 캐시란?]

  • 프록시 캐시가 없다면 원(origin) 서버에 웹 브라우저(한국에 있는 클라이언트 등..)가 직접 연결을 해야 하는데 이것은 아무래도 물리적 거리가 있기에 매우 느리게 작동할 수 밖에 없다. 
  • 이를 해결하기 위해서 한국 어딘가에 프록시 캐시 서버를 웹 브라우저와 원서버 사이에 두고 더 빠르게 사용할 수 있게 해주는 것을 의미한다. 

  • 이때 로컬과 웹 브라우저는 private 캐시라고 하고 프록시 캐시 서버 같은 경우엔 public 캐시라고 한다.
  • 예)
    • 미국에 서버가 있는 유튜브를 빠르게 볼 수 있는 이유가 프록시 캐시 서버를 두었기 때문이다.
    • 한국인들이 잘 안 보는 플랫폼의 경우엔 느린 경우가 프록시 캐시 서버에 이 데이터가 없기 때문이다.
    • 또한 처음 다운 받는 사람이 조금 느리게 다운 받고 나면 프록시 캐시 서버에 이 데이터가 저장되기 때문에 다른 사람들이 동일한 것을 다운 받을 땐 더 빠르게 받을 수 있다. 

 

 

[Cache-Control]

캐시 지시어(directives) - 기타 

  • Cache-Control: public
    • 응답이 public 캐시에 저장되어도 됨
  • Cache-Control: private
    • 응답이 해당 사용자만을 위한 것임, private 캐시에 저장해야 함(기본값)
  • Cache-Control: s-maxage
    • 프록시 캐시에만 적용되는 max-age
  • Age: 60 (HTTP 헤더)
    • 오리진 서버에서 응답 후 프록시 캐시 내에 머문 시간(초)