정보처리기사

[정보처리기사] 웹 캐시(Cache)란?

dongkeonkim 2023. 4. 19. 17:52
반응형

캐시는 이전에 요청된 리소스를 저장하여, 같은 요청이 발생했을 때 서버에서 리소스를 다시 받아오지 않고, 저장된 캐시를 이용하여 빠르게 로딩할 수 있도록 도와주는 기능입니다.

웹 브라우저는 웹 페이지를 로드할 때 해당 페이지에 필요한 리소스를 다운로드합니다.

이 때, 브라우저는 다운로드한 리소스를 캐시에 저장하고, 이후에 같은 리소스가 필요할 때 서버에서 다시 다운로드하지 않고, 캐시에서 불러옵니다.

다음과 같이 HTTP 응답 헤더를 사용하여 캐시를 제어할 수 있습니다. 


 HTTP/1.1 200 OK
 Date: Mon, 19 Apr 2023 06:47:56 GMT
 Content-Type: image/png
 Content-Length: 1024
 Cache-Control: max-age=3600, public
 Expires: Mon, 19 Apr 2023 07:47:56 GMT
 ETag: "abc123def456"
 Last-Modified: Sat, 16 Apr 2023 12:00:00 GMT

 

 

 하나씩 살펴보겠습니다


Cache-Control

Cache-Control 헤더는 캐시 제어를 위한 다양한 지시어를 제공합니다. 예를 들어, "max-age" 지시어를 사용하여 캐시 유효 기간을 설정할 수 있습니다. "no-cache" 지시어를 사용하여 캐시를 사용하지 않도록 지정할 수도 있습니다.

 

Expires

Expires 헤더는 캐시의 만료 날짜를 지정합니다. Cache-Control 헤더와 함께 사용됩니다.

 

ETag

캐시된 리소스의 버전을 식별하는 문자열을 포함합니다. 이 헤더는 캐시 유효성을 검사할 때 사용됩니다.

 

Last-Modified

Last-Modified 헤더는 서버에서 리소스를 마지막으로 수정한 시간을 포함합니다. 이는 캐시 유효성을 검사할 때 사용됩니다.

 


캐시는 빠른 로딩 속도와 대역폭 절약을 제공하지만 캐시에 저장된 리소스가 최신 버전이 아닐 수도 있으며, 사용자가 요청한 리소스와 다른 결과를 보여줄 수도 있습니다. 따라서, 캐시는 적절히 설정되어야 하며 웹 개발자는 리소스를 캐싱할지 말지, 캐시 유지 기간을 어느 정도로 설정할지 등을 결정해야 합니다.


반응형