React의 SPA 원리를 학습하며 접하게 된 CDN과 캐싱에 대한 개념을 정리해보고자 한다.
AWS의 설명들을 내 방식대로 이해하기 쉽게 작성해보았으니, 자세한 내용들은 각 링크를 참고할 것!
요청한 서버가 지리적으로 멀리 떨어져 있는 경우, 동영상이나 이미지 같은 대용량을 로드하는데에 시간이 오래 걸린다.
(ex) 넷플릭스의 경우, 본래 서버인 북미로 요청
이때 지리적으로 가까운 CDN 서버에 웹 사이트 콘텐츠를 저장해서 컴퓨터에 더 빨리 가져 올 수 있게 한다.
(ex) 북미는 너무 멀어. 일본 도쿄에 복사본 저장해둠.
데이터를 더 빨리 받아오려고 동일한 데이터 복사본 저장하는 프로세스
따라서 이후에 해당 데이터에 대한 요청이 다시 있을 때, 기존 스토리지에서 받아올 때 보다 더 빠르게 요청을 처리할 수 있다.
👉 cdn에서의 캐싱: 정적 콘텐츠를 저장하는 프로세스
- 지리적으로 멀리 떨어진 웹 사이트 방문자는 사이트에서 정적 웹 콘텐츠를 처음 요청합니다.
- 요청이 웹 애플리케이션 서버 또는 오리진 서버에 도달합니다. 오리진 서버는 원격 방문자에게 응답을 보냅니다. 또한 해당 방문자와 지리적으로 가장 가까운 CDN POP에 응답 복사본을 보냅니다.
- CDN POP 서버는 복사본을 캐싱된 파일로 저장합니다.
- 다음에 해당 방문자 또는 해당 위치에 있는 다른 방문자가 동일한 요청을 하면, 오리진 서버가 아닌 캐싱 서버가 응답을 보냅니다.