본문 바로가기
Study

캐시와 캐싱서버

by JSIM_DEV 2020. 12. 10.

캐시 정의

이미 다운로드된 정적 데이터를 다시 로드하지 않고, 스토리지에 저장을 해놓고 바로 불러와서 페이지 로드의 속도를 높이는 것.

캐시를 사용하지 않는 것.

apache 서버에서 config 파일을 수정을 들어가면 header 값을 수정해서 Cache-Control 이라는 속성을 'no-store' 라는 값으로 변경하게 되면. 캐시를 생성하지 않는다는 것이다.

이 방법을 사용하면 매번 같은 페이지를 접속할 때에도 이전에 이미 서버에서 받은 데이터를 다시 받아온다.

캐시를 사용하는 법

Cache-Control 'max-age={time}' 를 하면 time 동안 캐시를 스토어에 저장한다는 것을 의미한다.

개발자 도구를 열어보면 (from disk cache, from memory cache) 와 같이 캐시에서 불러온 데이터를 확인할 수 있다.

서버에서 반환하는 결과가 다를때만 리로드 트리거 하기

서버에서 받는 http 요청의 결과에 보면 response 헤더에 ETag, Last-Modified값이 있다.

Request Header에서 If-None-Match 값에서 기존의 ETag값이 변하지 않았다면, 요청을 다시 하지 않고 캐싱한 데이터를 그대로 사용하는 방식을 적용할 수도 있다.

그리고 If-Modified-Since는 Date 값과 매칭된다.

 

 

캐시 서버

정의 및 사용용도

나와 지역이 먼 클라이언트에게도 캐시를 통해서 빠른속도로 데이터를 전달이 필요한 경우가 있다.

만약 한국의 서비스를 미국의 클라이언트에게 제공을해야 할 때, 매번 다시 한국에서 데이터를 재요청해서 받는것은 상당히 비효율적이므로

캐싱 서버라는 것을 미국에 두어서 미국에서 사용하는 클라이언트들은 미국 캐싱서버를 통해서 우리가 변동이 있을 때 마다 업로드한 캐싱서버를 통해서

데이터를 전달받는 프로세스를 취한다.

Content Delivery Network

줄여서 CDN이라고 부르는 서비스이다.

전세계에 클라이언트들의 요청을 자동으로 해당 지역에서 가장 가까운 캐싱서버를 통해서 데이터를 전달해도록 지원하는 서비스 (aws의 cloud front가 대표적인 예)

'Study' 카테고리의 다른 글

WebRTC 개념정리  (0) 2021.01.29
Docker 에 mysql 서버 설치  (0) 2020.12.10