웹 캐시

자주 읽는 책을 매번 먼 책장에서 찾아오는 대신 책상 위에 미리 꺼내두는 임시 보관함이에요.

정의 웹 캐시는 인터넷에서 한 번 받아온 웹페이지의 이미지나 파일 같은 데이터를 사용자 가까운 곳에 미리 저장해 두는 기술이에요. 매번 먼 서버까지 가서 같은 데이터를 새로 가져오지 않도록 도와줘요.

매번 먼 서버까지 왕복할 필요가 없어요

자주 마시는 물을 매번 정수기까지 걸어가서 한 모금씩 떠 마시면 번거롭고 시간도 오래 걸려요. 컵이나 물병에 물을 미리 담아 책상에 두면 필요할 때 바로 마실 수 있죠. 웹 캐시도 이 물병과 똑같은 원리로 작동해요.

우리가 웹사이트를 방문하면 글자, 로고 이미지, 디자인 파일 등 수많은 요소를 서버에서 내려받아요. 다음에 같은 사이트에 다시 들어갈 때 이 파일들을 미국이나 유럽에 있는 원본 서버에서 또 내려받는다면 로딩이 느려질 수밖에 없어요.

이때 컴퓨터나 스마트폰이 이전에 받아둔 파일들을 임시 보관소에 저장해 둬요. 그러면 다음 방문부터는 먼 인터넷망을 거치지 않고 내 기기 안에서 곧바로 파일을 불러와요. 덕분에 화면이 눈 깜짝할 사이에 열리고 데이터 소모도 크게 줄어들어요.

웹 캐시 동작 원리 다이어그램 첫 방문 : 먼 서버 왕복 (느림) 재방문 (초고속) 스마트폰 브라우저 캐시 원본 웹 서버

내 폰 안에도 있고 전 세계 길목에도 있어요

캐시는 한 군데에만 머무르지 않아요. 가장 대표적인 형태는 크롬이나 사파리 같은 인터넷 브라우저가 내 스마트폰과 컴퓨터 하드디스크에 직접 저장하는 브라우저 캐시예요. 개인만을 위한 전용 보관함인 셈이죠.

인터넷 세상에는 여러 사람이 함께 쓰는 대형 공용 보관함도 존재해요. 이를 콘텐츠 전송 네트워크(CDN)나 프록시 캐시라고 불러요. 통신사 기지국이나 전 세계 주요 거점에 거대한 저장 서버를 설치해 두는 방식이에요.

예를 들어 외국 유명 가수의 뮤직비디오를 한국 이용자 수만 명이 동시에 시청할 때, 모두가 해외 서버에 접속하면 인터넷망이 마비돼요. 하지만 한국에 있는 중간 캐시 서버가 영상을 복사해 두면, 국내 이용자들은 한국 서버에서 초고속으로 영상을 받아볼 수 있어요.

조금 더 정확히 말하면: 새로고침을 해도 화면이 안 바뀌는 이유

조금 더 정확히 말하면, 캐시가 마냥 좋은 것만은 아니에요. 원본 서버의 내용이 바뀌었는데 내 기기가 옛날에 저장해 둔 캐시 파일만 고집해서 보여주면, 업데이트 전의 낡은 화면을 보게 되는 문제가 생겨요.

웹 서버는 이런 일을 막기 위해 데이터마다 유통기한(TTL)을 정해 줘요. "이 로고 이미지는 7일 동안만 쓰고, 7일이 지나면 다시 서버에 와서 새 파일인지 확인하라"는 식의 규칙을 전달하는 거예요.

홈페이지 디자인이 바뀌었는데도 내 컴퓨터 화면에서는 여전히 깨져 보이거나 이전 디자인이 나온다면 바로 이 캐시 때문이에요. 이때는 키보드의 특정 단축키를 눌러 저장된 캐시를 강제로 지우는 강력 새로고침(하드 리프레시)을 실행해 최신 파일을 받아올 수 있어요.

🤔 흔한 오해

✕ 오해

웹 캐시를 지우면 컴퓨터 인터넷 속도가 무조건 항상 빨라진다.

✓ 사실

캐시를 지우면 저장 공간은 늘어나지만, 다음 웹서핑 시 모든 이미지와 파일을 서버에서 처음부터 다시 받아와야 하므로 오히려 첫 접속 속도는 일시적으로 느려져요.

🧺 일상에서 만나요

1 한 번 방문했던 쇼핑몰에 다시 들어갔을 때 로고와 배경 이미지가 순식간에 나타나는 경우
2 웹사이트 디자인이 새로 바뀌었는데도 예전 이미지가 깨져 보여 브라우저 캐시 삭제를 안내받는 경우
💡 그러니까 한마디로

웹 캐시는 자주 쓰는 인터넷 데이터를 가까운 곳에 미리 복사해 두어 접속 속도를 높이고 데이터 낭비를 줄이는 기술이에요.