본문 바로가기
Cloud Computing/Azure

[Azure] 캐싱 작동 방식

by 8희 2023. 11. 12.

1. 캐싱 종류

 

- 데이터를 향후 요청 시 빠르게 액세스 할 수 있도록 하는 임시 저장소

- 절대적인 요청 횟수를 줄임으로써 속도와 성능 향상

- 일반적으로 자주 바뀌지 않는 데이터에 적용

- 종류

  • 웹 서버 : 공유 캐시(여러 사용자용) 사용
  • CDN : 공유 캐시(여러 사용자용) 사용
  • ISP : 공유 캐시(여러 사용자용) 사용
  • 웹 브라우저 : 프라이빗 캐시(단일 사용자용) 사용

 

2. 리소스 최신 여부

 

 

- 캐싱된 데이터가 최신 데이터인지 확인하는 절차

- 캐싱된 데이터의 캐싱 시간을 지정하여 만료 시 Origin 확인

- 다음 헤더 값을 이용하여 최신 여부 판단

  • Cache-Control
  • Expires
  • 둘 다 존재할 경우 Cache-Control을 우선

- 다음 헤더 값을 이용하여 유효성 검사

  • Etag
  • Last-Modified
  • 둘 다 존재할 경우 Etag를 우선

 

3. 캐시 지시문 헤더

 

1) Cache-Control

- Verizon/Microsoft: Cache-Control 지원

- Akamai: 다음과 같은 Cache-Control 지시문 지원

  • max-age: 캐시되는 시간 지정 (예: Cache-control:max-age=5 / 5초간 콘텐츠 캐싱)
  • no-ache: 콘텐츠를 캐시하지만 캐시에서 사용자에게 전달되기 전 매번 유효성 검사 (Cache-control: max-age=0과 동일)
  • No-store: 콘텐츠를 캐시하지 않음. 이전에 저장된 콘텐츠가 있을 시 제거

2) Expires

- 'Cache-Control:max-age'와 유사한 기능

- Cache-Control이 없을 때 사용 됨

 

3) Pragma

- 기본적으로 적용되지 않음

- 'Pragma no-cache' == 'Cache-Control: no-cache'

 

4. 유효성 검사

 

1) ETag

- Verizon은 기본적으로 지원하는 반면 Microsoft와 Akamai는 지원하지 않음

- 파일 버전에 대한 고유 문자열 정의

- If-None-Match 헤더를 전송하여 ETag를 사용하는 파일의 유효성을 검사

- 일치 시 304(Not Modify) 응답, 불일치시 200(OK) 응답으로 콘텐츠 업데이트

 

2) Last-Modified

- Origin에 있는 콘텐츠 수정 시 최종 날짜 설정

- If-Modified-Since 헤더를 보내어 Last-Modified를 사용하여 파일의 유효성을 검사

-일치 시 304(Not Modify) 응답, 불일치 시 200(OK) 응답으로 콘텐츠 업데이트

 

5. 캐시할 수 있는 파일

 


참고

https://www.inflearn.com/course/azure-cdn-%EA%B2%8C%EC%9E%84%EA%B0%9C%EB%B0%9C#curriculum

 

[무료] 게임 개발을 위해 알아야 할 Azure CDN - 인프런 | 강의

Azure CDN을 이용하여 컨텐츠를 배포하는 방법에 대한 강의입니다., Azure를 강의하다. 안녕하세요. 많은 인터넷 교육 플랫폼에 Microsoft Azure에 관한 강의 영상이 너무 없어서 만들게 되었습니다. 많

www.inflearn.com