HTTP 웹 지식

HTTP 헤더2 - 캐시와 조건부 요청(프록시 캐시)

귀요미찰쓰 2022. 1. 24. 21:34
728x90
반응형

프록시 캐시

 

origin 서버가 뭐냐면 진짜 서버를 나타내는데요. 만약 한국에 있는 여러 클라이언트가 미국에 있는 서버에 접근을 해줘요. 원소스가 있는 원 서버에가 미국에 있으니까 웹 브라우저에서 미국까지 가는데 시간이 오래 걸리겠죠. 대략 500ms 걸린다고 가정을 했을 때, 사람들이 이미지 하나를 다운 받으려고 전부 500ms를 기다려야겠죠. 

그래서 프록시 캐시라는 서버를 도입해줍니다. 이것은 뭐냐면 미국에 있는 원 서버 입장에서는 이렇게 한국에 있는 사용자들이 접속해주려면 시간이 오래 걸립니다. 그래서 한국 어딘가에다가 프록시 캐시 서버를 넣어 놓고 DNS 요청을 할 때, 조작을 해가지고 요청이 오면 미국에 있는 원 서버에 직접 접근하지 못하게하고 프록시 캐시 서버를 거쳐서 오케 만듭니다.

그렇게 되면 당연히 응답 시간이 빨라지겠죠. 기존에 0.5초걸린게 0.4초만에 옵니다.

 

그리고 이제 이 캐시를 보통 최초로의 요청에는 프록시 캐시 서버가 없습니다. 그래서 첫번째 유저는 느린데 한번 다운로드 받아 놓으면 두번째 유저부터는 빨리 조회를 할 수 있게 됩니다. 중간에 공용으로 사용하는 캐시 서버를 public 캐시라고 고하고요. 그리고 private 캐시는 내 웹 브라우저나 로컬에 저장되는 캐시입니다.

 

 

 

 

Cache-Control: 캐시 지시어(directives) - 기타

- Cache-Control: public

       - 응답이 public 캐시에 저장되어도 됨

- Cache-Control: private

       - 응답이 해당 사용자만을 위한 것임, private 캐시에만 저장해야함(기본 값)

- Cache-Control: s-maxage

       - 프록시 캐시에만 적용되는 max-age

- Age: 60(HTTP 헤더)

       - 오리진 서버에서 응답 후 프록시 캐시 내에 머문 시간(초)

반응형

 

반응형