Web

HTTP Cache

알로그 2020. 12. 4. 12:00
반응형

생활코딩 HTTP Cache 수업 요약

 

웹 브라우저에서 캐싱 기능을 제공하는데, 캐싱 기능은 서버에서 데이터를 가져오는 것이 아니라 이전에 본인 디스크나 메모리에 저장해뒀다가 데이터를 읽어오는 기능이다.

 

빠른 속도로 데이터를 가져올 수 있는 장점이 있는 반면 최신 데이터를 가지고 올 수 없는 단점이 존재한다.

 

 

데이터 응답 속도는 개발자도구 네트워크 탭에서 속도 확인이 가능하다.

그리고 네트워크 탭에서 Online 항목에서 'Slow 3G'를 선택하여 임의로 네트워크 속도를 늦출 수 있다.

 

캐시 옵션을 막는 방법은 Apache 웹 서버에 아래 설정을 통해 막을 수 있다.

SetEnv no-gzip 1
Header set Cache-Control "no-store"

위의 설정을 하고 서버를 재시작한 뒤, 웹 브라우저에서 데이터를 받아보면 캐싱 기능이 되지 않고 데이터를 받는데 시간이 오래 걸리는 것을 확인할 수 있다.

 

또한 Response Headers 데이터를 보면 Cache-Control 값이 no-store인 것을 알 수 있다.

 

 

반대로 캐시 옵션을 킬 수 있는 여러 옵션들이 있는데, 기본적으로 시간 지정을 통해 해당 시간마다 캐싱 기능이 적용되도록 할 수 있다.

Cache-Control: max-age=31536000

자세한 옵션은 아래 링크 참조:

developer.mozilla.org/ko/docs/Web/HTTP/Caching

 

HTTP caching

웹 사이트와 애플리케이션의 성능은 이전에 가져온 리소스들을 재사용함으로써 현저하게 향상될 수 있습니다. 웹 캐시는 레이턴시와 네트워크 트래픽을 줄여주므로 리소스의 표현에 필요로 하

developer.mozilla.org

 

캐싱 기능을 적용하면 아래와 같이 개발자도구 네트워크 탭에서 memory cache 또는 disk cache 로그를 확인할 수 있다

 

캐싱 기능을 지정해두면 브라우저에서 서버의 데이터의 갱신을 확인하게 되는데, 만약 서버의 데이터가 갱신되지 않았다면 이는 Status Code가 '304 Not Modified'로 응답이 온다.

만약 데이터가 갱신이 되었다면 Response Headers의 Last Modified의 값이 바뀌고 Status Code도 '200 Ok'로 응답이 온다.

반응형

'Web' 카테고리의 다른 글

점프 투 장고 스터디 2장  (0) 2021.08.16
점프 투 장고 스터디 1장  (0) 2021.08.15
Augular 개발환경 설정 & 프레임워크 개요  (0) 2020.06.01
Web Home Server  (0) 2019.09.27
DNS (Domain Name System)  (0) 2018.10.20