캐시 제어란 무엇입니까?ⅱ

by 라임라이트 기술영업부

캐시 제어 헤더는 콘텐츠 제공 네트워크 (CDN) 서비스에 의해 활용되어 콘텐츠 최적화 및 배포 속도 향상에 필요한 캐싱 플랫폼을 제공합니다. CDN이 사용하는 캐싱은 웹 브라우저가 배포하여 로컬 장치에서 사이트를 더 빠르게 로드하는 유사한 기술 원칙을 준수합니다. 브라우저가 빠른 액세스를 위해 하드 드라이브에 로컬 데이터를 캐시하는 것처럼 CDN은 노드에 캐시 된 데이터를 보관하므로 사이트 방문자가로드 시간이 더 빨라집니다. 

대부분의 웹 사이트 콘텐츠는 시간 경과에 따라 많이 변하지 않을 것으로 예상되지 않는 정적 데이터로 구성됩니다. 일반적으로 이 정적 데이터에는 이미지, 텍스트, 비디오, 서식 스타일 시트 및 JavaScript가 포함됩니다. 웹 페이지를 방문하면 브라우저가 받는 데이터에는 사이트가 사용자에게 제공하는 개인 설정에 따라 정적 파일과 동적으로 생성 된 콘텐츠가 혼합되어 있습니다. 예를 들어 은행 웹 사이트를 방문 할 때 방문 페이지는 일반적으로 은행의 솔루션과 서비스에 대한 세부 정보를 제공하는 정적 콘텐츠로 채워집니다. 그러나 사이트에 로그인하면 계정 잔액과 같은 개인 정보에 액세스 할 수 있습니다. 

CDN이 제공하는 캐싱 서비스는 웹 사이트 운영자에게 다양한 비즈니스 이점을 제공합니다. 첫째, CDN은 사이트의 정적 컨텐츠를 캐싱하여 사용자의 브라우저가 원본 서버가 아닌 CDN에서 대량의 데이터를 다운로드 할 때 대역폭을 절약하는 데 도움이 됩니다. 둘째, 최종 사용자에 대한 CDN의 근접성으로 인해 사이트가 더 빨리 로드 될 수 있으며, 셋째, CDN의 트래픽 용량은 여러 사용자가 사이트를 동시에 방문 할 때 원본 웹 서버에서 트래픽 배달을 지원하므로 안정적인 콘텐츠 전달을 보장합니다. 이 모든 것을 가능하게 하는 것은 HTTP 버전 1.1에서 도입 된 HTTP 캐시 제어 헤더입니다.

캐시 제어 헤더 및 CDN

앞서 언급했듯이 사용자의 브라우저에 컨텐츠를 캐시 할 수 있는 기능을 제공하면 웹 서버에서 사용하는 대역폭의 양을 줄임으로써 효율성이 향상되고 로드 시간이 더 빨라 사용자 경험이 향상됩니다. 그러나 캐시 제어가 없으면 이 웹 기능으로 인해 전체 솔루션이 매우 취약해질 수 있습니다. 모든 사이트의 모든 웹 자산은 동일한 캐싱 규칙을 따르는 것으로 제한됩니다. 이러한 장애로 인해 기밀 정보와 공개 정보가 같은 방식으로 취급되며 빈번하게 업데이트 해야 하는 웹 자산은 동일한 방식으로 자주 변경되지 않는 자산과 동일한 시간 동안 캐시 됩니다.

개발자는 캐시 제어를 활용하여 각 웹 리소스가 캐시 되는 방식을 세밀하게 제어 할 수 있습니다. 이 프로토콜 유연성을 통해 캐시 제어는 사용자와 개발자가 캐싱 솔루션에 기대하는 이점을 제공합니다. CDN 캐싱의 경우 이러한 캐시 제어 헤더를 사용하면 웹 사이트 운영자가 중개 서비스에 대한 특정 컨트롤을 설정할 수 있으므로 CDN이 제공해야하는 이점을 활용하는 콘텐츠 전달 솔루션을 만드는 데 필요한 유연성을 제공합니다.

그러나 웹 사이트 운영자가 CDN을 사용할 때 얻을 수 있는 최상의 이점을 얻으려면 CDN 캐시를 통해 사용자에게 전달되는 콘텐츠와 원래 서버에서 직접 제공되는 콘텐츠 간에 균형이 필요합니다. 따라서 적절한 캐시 제어 헤더를 설정하는 것이 CDN에서 최대의 성능을 끌어올릴 수 있는 필수적 요소이며, 효율적으로 사용하기 위해서는 CDN 캐싱 서비스의 활용도를 극대화하여 캐시 적중률을 높이는 것입니다.  따라서 웹 사이트 운영자는 성능 및 경험에 직접적인 영향을 주는 관련 캐시 제어 헤더를 설정할 때 응용 프로그램 및 사용자의 요구 사항을 고려하여야 합니다.

CDN은 일반적으로 웹 사이트 운영자가 자신의 응용 프로그램이나 CDN 서비스 자체에서 캐싱 옵션을 설정할 수 있도록 합니다. 그러나 이전에 설명한 것처럼 설정에서 콘텐츠 배달의 세부적인 특성을 고려해야합니다. 응용 프로그램에서 캐시 제어 헤더를 설정하면 관리자가 CDN 서비스의 사이트 전체 설정을 사용하는 것보다 훨씬 더 많은 제어 기능을 제공합니다. 따라서 응용 프로그램과 CDN 모두의 구성은 웹 사이트 리소스와 사용자 모두에 적절한 콘텐츠 유형에 대한 올바른 캐시 제어 헤더가 설정되어 있는지 확인해야합니다.

본질적으로 CDN에서 최상의 성능을 얻으려면 오랜 기간 동안 변경되지 않은 자산에 대해 가능한 최대 값으로 max-age 캐시 제어 헤더를 설정 해야 합니다. 중기 자산의 경우 revalidate 또는 proxy-validate 캐시 제어 헤더를 추가하면 CDN이 내용을 전달하기 전에 내용을 확인합니다. 이 설정은 사이트로드 시간에는 거의 영향을 미치지 않지만 사용자가 최상의 성능으로 최신 콘텐츠를 얻을 수 있도록 합니다.

연관된 글