캐시는 필요한 곳에 파일을 더 빨리 제공하기 위해 파일 사본을 저장합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
캐싱은 파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 보다 빠르게 액세스할 수 있도록 하는 프로세스입니다.기술 면에서, 캐시는 파일이나 데이터의 복사본을 위한 임시 저장 위치이지만, 캐시라는 용어는 인터넷 기술과 관련하여 자주 사용됩니다.웹 브라우저는 웹 사이트를 더 빨리 로드하기 위해 HTML 파일, JavaScript, 이미지를 캐시하고, DNS 서버는 더 빠른 조회를 위해 DNS 레코드를 캐시하며, CDN 서버는 콘텐츠를 캐시하여 대기 시간을 줄입니다.
캐시가 작동하는 방식을 이해하려면 실생활에서의 음식 및 기타 소모품의 실제 캐시를 생각해보면 됩니다. 1912년 탐험가 로알 아문센이 남극 원정에서 돌아오는 길에 아문센과 그의 동료들은 가던 길을 따라 비축해 두었던 식량을 먹으며 귀환했습니다. 이것은 그들이 여행하면서 베이스 캠프에서 보급품이 배달되기를 기다리는 것보다 훨씬 더 효율적이었습니다. 인터넷의 캐시도 비슷한 용도로 사용됩니다. 사용자는 웹을 가로질러 여행하는 데 필요한 '공급품' 또는 콘텐츠를 임시로 저장합니다.
사용자가 웹 페이지를 로드할 때마다 브라우저는 많은 양의 데이터를 다운로드해야만 해당 웹 페이지를 표시할 수 있습니다.페이지 로드 시간을 단축하기 위해 브라우저는 웹 페이지에 표시되는 대부분의 콘텐츠를 캐시하여 장치의 하드 드라이브에 웹 페이지 콘텐츠 사본을 저장합니다.이렇게 하면 다음에 사용자가 페이지를 로드할 때 대부분의 콘텐츠가 이미 로컬에 저장되어 있고 페이지가 훨씬 더 빨리 로드됩니다.
브라우저는 Time to Live(TTL)이 만료되거나 하드 드라이브 캐시가 가득 찰 때까지 이러한 파일을 저장합니다. (TTL은 콘텐츠를 캐시해야 하는 기간을 나타냅니다.) 원하는 경우 사용자도 브라우저 캐시를 지울 수 있습니다.
브라우저 캐시가 지워지면 사용자가 페이지를 처음 방문한 것처럼 로드되는 모든 웹 페이지가 로드됩니다. 처음에 잘못 로드된 항목이 캐시된 경우 캐시를 지우면 해당 항목이 올바르게 로드될 수 있습니다. 그러나 브라우저 캐시를 지우면 페이지 로드 시간이 일시적으로 느려질 수도 있습니다.
CDN, 즉 콘텐츠 전송 네트워크는 원본 서버보다 최종 사용자에게 더 가까운 프록시 서버에 콘텐츠(예: 이미지, 비디오, 웹 페이지)를 캐시합니다.(프록시 서버는 클라이언트로부터 요청을 받아 다른 서버로 전달하는 서버입니다.)서버가 요청을 하는 사용자와 더 가까우므로 CDN은 콘텐츠를 더 빠르게 전달할 수 있습니다.
CDN을 식품점 체인과 같다고 생각하면 됩니다. 수백 마일 떨어져 있을 수 있는 식품 재배 농장까지 가는 대신 쇼핑객은 여전히 상당한 거리를 가야 하기는 하지만 훨씬 더 가까이 있는 지역 식품점에 갑니다. 식품점에는 멀리 떨어진 농장의 식품을 비축하므로 식품 쇼핑은 며칠이 아닌 몇 분이 걸립니다. 마찬가지로 CDN도 인터넷에 나타나는 콘텐츠를 '저장'하므로 웹 페이지가 훨씬 더 빨리 로드됩니다.
사용자가 CDN을 사용하여 웹 사이트에서 콘텐츠를 요청하면 CDN은 원본 서버에서 해당 콘텐츠를 가져온 다음 향후 요청을 위해 콘텐츠 복사본을 저장합니다. 캐시된 콘텐츠는 사용자가 계속 요청하는 한 CDN 캐시에 남아 있습니다.
캐시 적중은 클라이언트 장치가 캐시에 콘텐츠를 요청하고 캐시에 해당 콘텐츠가 저장된 경우입니다.캐시에 요청된 콘텐츠가 없을 때 캐시 누락이 발생합니다.
캐시 적중은 CDN이 최종 사용자에게 콘텐츠를 즉시 전달할 수 있으므로 콘텐츠를 훨씬 더 빠르게 로드할 수 있음을 의미합니다. 캐시 누락의 경우 CDN 서버는 요청을 원본 서버에 전달한 다음 원본 서버가 응답하면 콘텐츠를 캐시하여 후속 요청이 캐시 적중으로 이어지도록 합니다.
CDN 캐싱 서버는 전 세계의 데이터 센터에 있습니다. Cloudflare는 콘텐츠에 액세스하는 최종 사용자와 최대한 근접할 수 있도록 전 세계 330개 도시에서 CDN 서버를 보유하고 있습니다. CDN 서버가 있는 위치를 데이터 센터라고도 합니다.
웹 사이트에서 요청된 콘텐츠로 CDN 서버에 응답할 때는 콘텐츠의 TTL도 첨부하여 서버에 저장 기간을 알려줍니다. TTL은 HTTP 헤더라고 하는 응답의 일부에 저장되며 콘텐츠가 캐시될 시간(초, 분, 시간)을 지정합니다. TTL이 만료되면 캐시에서 콘텐츠가 제거됩니다. 일부 CDN의 경우 콘텐츠가 한동안 요청되지 않거나 CDN 고객이 특정 콘텐츠를 수동으로 제거하는 경우 캐시에서 파일이 일찍 제거됩니다.
DNS 캐싱은 DNS 서버에서 발생합니다.서버에는 최신 DNS 조회가 캐시에 저장되므로 네임서버를 쿼리할 필요가 없고 도메인의 IP 주소로 즉시 응답할 수 있습니다.
검색 엔진은 액세스하려는 웹 사이트가 일시적으로 다운되거나 응답할 수 없는 경우에도 사용자 쿼리에 응답하기 위해 검색 결과에 자주 나타나는 웹 페이지를 캐시할 수 있습니다.
Cloudflare는 국제적으로 배포된 330개 PoP가 포함된 CDN을 제공합니다.Cloudflare는 무료 CDN 캐싱 서비스를 제공하며 유료 CDN 고객은 콘텐츠가 캐싱되는 방식을 사용자 지정할 수 있습니다.네트워크는 Anycast입니다. 이는 이러한 데이터 센터에서 동일한 콘텐츠를 전달할 수 있음을 의미합니다.런던의 사용자와 시드니의 사용자 모두 불과 몇 마일 거리에 있는 CDN 서버에서 로드된 동일한 콘텐츠를 볼 수 있습니다.