웹개발/BackEnd

[Spring] Web Cache

토킹포테토 2023. 3. 24. 14:35
728x90

* Web-Cache란?

: client가 html, css, js, image 등을  server에게 첫 요청 시 해당 파일을 내려받아 특정 위치에 복사본을 저장하고, 이후 동일한 요청 시, 다시 서버에게 내려받지 않고 내부에 저장한 파일을 사용하여 빠르게 서비스 하기 위한 것.

 

* 웹 캐쉬 종류

Brower Caches Proxy Caches GateWay Caches
브라우저 또는 HTTP 요청하는 Client Application에 의 내부 디스크에 저장되는 캐쉬 Client 나 Server가 아닌 네트워크 상에서 동작하는 캐쉬 서버 앞 단에 설치되어 요청에 대한 캐쉬

 

* 사용법

1. HTML Meta Tags

<META HTTP-EQUIV="EXPIRES" CONTENT="Wen, 22 Mar 2023 11:12:01 GMT">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

 

2. HTML Header

HTTP 요청에서 cache-control 속성

디렉티브 설명
no-cache 응답으로 받은 데이터를 캐싱하되, 매번 서버에 요청하여 해당 데이터에 대한 유효성 검사를 하도록 강제함
no-store 어떠한 데이터도 캐싱하지 않음
no-transform 캐싱할 데이터에 대한 압축이나 포맷 변환 등의 작업을 진행하지 않음
only-if-cached 캐시된 데이터가 있을 경우에만 반환
max-age 현재 시간으로부터 캐시가 유효하다고 판단할 수 있는 상대적인 시간
설정 시간 내라면 서버를 거치지 않고 캐시된 데이터 사용, 시간 만료면 서버로 요청 보내 유효성 검증
max-age : 86400(하루) / max-age : 31536000(1년)
max-stale 캐시된 데이터가 있으면 만료 이후에도 지정한 시간만큼 만료된 데이터 사용하는것 허용
min-fresh 캐시될 데이터가 변경되지 않아야 할 최소 시간
지정한 시간 내에는 서버에서 해당 데이터의 값이 변경되지 않아야함.

 

'웹개발 > BackEnd' 카테고리의 다른 글

[Batch File] Windows 배치 파일 만들기  (0) 2023.03.30
[Wget]Wget을 이용한 크롤링  (0) 2023.03.30
[Spring] Spring MVC 세팅(with IntelliJ Community)  (2) 2022.09.02
web.xml이란?  (0) 2022.02.19
pom.xml이란?  (0) 2022.02.18