저널 ·

한 번 열어 두면 오프라인에서도 읽힙니다

ipe.rest 는 브라우저 안에 자기 사본을 조금 보관합니다. 그래서 이미 열어 본 페이지는 연결이 없어도 다시 열립니다. 어떻게 작동하는지, 그리고 무엇은 하지 못하는지를 적었습니다.

지난번에는 이 사이트가 여러분에 대해 기억하는 것을 적었고, 그중 하나가 사이트 자체 파일의 캐시였습니다. 이번 글은 그 캐시에 관한 것입니다. 왜 있는지, 어떻게 움직이는지, 어떻게 지우는지를 이야기합니다.

홈페이지가 마련해 두는 것

홈페이지를 열면 서비스 워커라는 작은 프로그램이 등록됩니다. 브라우저가 페이지와는 따로 백그라운드에서 실행하는 프로그램입니다. 하는 일은 단순합니다. 사이트와 네트워크 사이에 서서 각 파일을 어디에서 가져올지 정합니다.

처음 실행될 때는 핵심 파일 몇 개를 저장합니다. 홈페이지들, 저널 목록, 소개·문의·개인정보처리방침 페이지, 아이콘, 글꼴입니다. 나머지는 여러분이 읽는 대로 나중에 저장됩니다.

페이지는 네트워크가 먼저

페이지에 대해서는 먼저 네트워크에 묻습니다. 브라우저가 들고 있는 오래된 사본을 믿지 않고, 서버에 페이지가 바뀌었는지 다시 확인합니다. 온라인일 때는 늘 최신 페이지를 받고, 그때마다 새 사본이 캐시에 들어갑니다.

네트워크가 끊기면 저장해 둔 사본으로 돌아갑니다. 그래서 이 브라우저에서 홈페이지를 한 번 열어 둔 적이 있다면, 어제 열어 본 글은 신호 없는 기차 안에서도 오늘 다시 열립니다. 한 번도 열지 않은 페이지는 저장되어 있을 수 없고, 그럴 때는 브라우저 오류 대신 홈페이지를 보여 줍니다.

글꼴·아이콘·스타일은 캐시가 먼저

거의 바뀌지 않는 파일은 반대로 움직입니다. 캐시를 먼저 보고, 사본이 없을 때만 네트워크로 갑니다. 방문할 때마다 글꼴과 아이콘을 다시 내려받지 않는 이유입니다.

옛 사본이 사라지는 방식

캐시에는 버전 이름이 있고, 사이트 파일이 바뀔 때마다 저희가 그 이름을 바꿉니다. 새 버전이 시작되면 워커는 이름이 다른 캐시를 모두 지웁니다. 옛 사본이 기기에 쌓이지 않고, 저희가 올린 수정은 다음 방문 때 닿습니다.

직접 모두 지우려면 브라우저 설정에서 이 사이트의 데이터를 지우세요. 다음 방문은 아무것도 없는 상태에서 시작됩니다.

하지 못하는 것

캐시는 브라우저 안에 보관되는 평범한 파일 모음입니다. 여러분에 대한 프로필이 아니고, 안에 든 것이 저희에게 전송되지도 않습니다. 열어 본 적 없는 페이지는 보여 줄 수 없고, YouTube 의 트랙 같은 다른 사이트로 가는 링크는 여느 때처럼 연결이 필요합니다.

굳이 이렇게 하는 이유

조용한 것들에 관한 저널이 완벽한 신호를 요구해서는 안 됩니다. 사람들은 대기실이나 출퇴근길에서 글을 읽고, 저장해 둔 사본으로 열리는 사이트는 그런 순간에 더 친절합니다.

ipe(); // open it once, and it remembers how to open itself

페이지가 오래된 것처럼 보이면 온라인일 때 한 번 새로 고침하세요. 페이지 자체는 언제나 새로 요청하고, 캐시에서 오는 것은 거의 바뀌지 않는 파일(글꼴·아이콘·스타일·스크립트·이미지)뿐이며 이들은 새 버전마다 갱신됩니다.

← 전체 글