웹 캐싱(Web Caching)

해연·2023년 8월 4일
0

네트워크

목록 보기
9/16
post-thumbnail

웹 캐싱이란?

서버 지연을 줄이기 위해 웹 페이지, 이미지, 기타 유형의 웹 멀티미디어 등의 웹 문서들을 임시 저장하기 위한 정보기술

🔹 저장된 복사본을 캐시
🔹 캐시를 사용하여 이후 같은 페이지나 리소스를 요청할 때 원본 서버에 다시 요청하지 않고 캐시된 복사본을 사용하여 더 빠르게 페이지를 로딩시킨다

과정

  • client가 proxy server에 접근해 caches file이 존재하는지 파악
    • caches가 있으면 proxy server에서 데이터를 받아옴
    • caches가 없으면 proxy server는 origin server로부터 데이터를 요청하여 받아옴

🔸 최초의 client를 제외한 client proxy server에서 정보 받아오기 가능

  1. 유저의 브라우저는 웹 캐시에 고안된 객체에 대한 HTTP 요청을 보낸다.
  2. 웹 캐시가 메모리에 없다면 파일을 origin server에 요청하고 유저 브라우저에 객체를 전송하고 객체의 마지막 변경 날짜와 함께 객체의 복사본을 저장한다.
  3. 다른 유저가 같은 객체를 요청할 때, 그 객체는 캐시에서 이용 가능하다. 요청한 유저에게 객체를 전송하기 전에, 캐시는 이 객체가 origin server에서 변경되지 않았다고 보장할 필요가 있다.
  4. 웹 캐시는 원래 웹 서버로 조건부 GET요청을 전송한다. 즉, 웹 캐시의 마지막 수정 날짜 이후로 파일이 수정된 경우에만 파일을 보내도록 웹 서버에 지시한다.
  5. 만약 객체가 원래 웹 서버에서 변경되지 않았다면, 응답 메세지는 요청된 객체를 포함하지 않을 것이다. 그리고 웹 캐시는 메모리의 객체를 사용하여 사용자의 요청을 처리한다.

웹 캐싱의 장점

  1. 응답시간을 줄일 수 있다.
    • Web caches는 굳이 멀리 있는 origin server로 가지 않고, 가까이 있는 proxy server로 가서 정보를 가져오기 때문에 요청-응답 시간을 줄일 수 있다.
  2. 서버의 트래픽을 줄일 수 있다.
    • 클라이언트 요청이 모두 server로 가는 것이 아닌 proxy server로 분산되기 때문에 그만큼 요청에 대한 트래픽을 줄일 수 있다.

참고
https://www.varnish-software.com/glossary/what-is-web-caching/
https://inyongs.tistory.com/59
https://www.educative.io/answers/what-is-web-caching

profile
물음표를 느낌표로 바꾸며 성장하는 예비 백엔드 개발자입니다.

0개의 댓글