HTTP(7/n) - 프록시 캐시(Proxy Cash)

이의섭·2022년 1월 17일
0

네트워크

목록 보기
8/8
post-thumbnail

멀리있는 서버에 직접 접근


그림처럼 우리가 미국에 있는 서버에 직접 접근하려면은 해저 케이블을 통해서 지구 반바퀴를 돌아서 통신해야 합니다. 간단하게 중학교 수학시간에 배운 거,속,시공식을 생각해보면 같인 속력으로 거리가 멀수록 도착하는데 걸리는 시간이 더 많이 든다는 사실을 알 수 있습니다.


프록시 캐시는 이러한 문제를 해결해줍니다.

즉, 중간에 원 서버에 연결해주는 서버(프록시 서버)를 도입해서 전에 한번 원 서버에서 내려준 응답과 동일한 요청이 오면 다시 원 서버로 갈 필요 없이 프록시에서 바로 응답을 내려줘서 훨씬 빠른 통신이 가능하도록 합니다.

Cache-Control

Cache-Control은 응답을 내려주는 서버에서 작성해주는 캐시 지시어헤더 입니다.

전 장에서도 봤지만, 이번 장에서는 프록시와 관련된 Cache-Control에 대해 알아봅시다.

Cache-Control: public

응답이 pulic캐시, 즉 Proxy에 저장되어도 된다는 헤더입니다

Cache-Control: private

응답이 오직 사용자에게만 저장되어야 합니다. Proxy에 저장되면 안됩니다. 또한 이 private는 default값이라고 합니다.

Cache-Contro: s-maxage

Proxy캐시에마 적용되는 max-age라고 합니다.

캐시 무효화

브라우저는 때로 응답으로 받은 데이터를 임의로 캐시에 저장 해 버리는 경우가 있다고 합니다. 때문에 서버에서 자동으로 캐시를 무효화시키는 방법에 대해 알아봅니다.

  • Cache-Control: no-cache → 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용하라는 헤더입니다.
  • Cache-Control: no-store → 민감한 데이터가 포함되어있으니까 저장하지 말라고 강제!
  • Cache-Control: must-revalidate → 캐시가 유효하다면 그냥 쓰돼, 만료되면 원 서버에 검증하고 사용하라. 만일 원 서버로의 접근에 실패하면 반드시 오류가 발생해야합니다 504-Gateway Timeout
profile
사용자 중심 생각하는 프론트엔드 개발자가 되고 싶은..

1개의 댓글

comment-user-thumbnail
2022년 1월 21일

잘보고 갑니다~

답글 달기