웹사이트를 오프라인에서 보관하는 것은 오랫동안 기술적인 도전 과제였습니다. 단순히 '다른 이름으로 저장(Save As)' 기능을 사용하면 시간이 지남에 따라 빈 화면이 뜨거나 기능이 멈추는 등 문제가 발생하기 일쑤였습니다. 이러한 문제를 해결하기 위해 'Kage'라는 새로운 도구가 등장했습니다. Kage는 헤드리스 크롬(headless Chrome)을 이용해 웹페이지의 최종 렌더링된 DOM(문서 객체 모델)을 스냅샷하고, 모든 자바스크립트를 제거한 뒤 CSS, 이미지, 폰트 등 모든 자산을 로컬 경로로 다운로드하여 코드 없이 동작하는 완전한 정적 사본을 생성합니다.
Kage는 단순히 한 페이지만 저장하는 것을 넘어, 웹사이트 전체를 미러링(mirroring)할 수 있는 강력한 기능을 제공합니다. robots.txt를 읽고 sitemap.xml을 활용하여 크롤링 시작점을 잡으며, 특정 호스트 내에서만 동작하도록 범위를 제어할 수 있습니다. 또한, 'kage pack' 명령어를 통해 생성된 사본을 단일 파일로 압축할 수 있으며, Kiwix 생태계와 호환되는 ZIM 아카이브 형식이나 별도의 설치 없이 실행 가능한 단독 실행 파일 형태로 만들 수 있습니다. 이 단독 실행 파일은 약 13MB의 작은 크기에 사이트 용량이 더해져, 받는 사람이 아무것도 설치할 필요 없이 웹사이트를 열람할 수 있게 합니다.
이러한 Kage의 등장은 웹 정보 아카이빙과 접근성에 있어 중요한 의미를 가집니다. 특히 인터넷 연결이 불안정하거나 불가능한 환경에서도 중요한 정보를 열람해야 하는 경우(예: 현장 작업자의 회사 위키 접근)에 매우 유용합니다. 또한, 웹사이트의 변경이나 삭제에 관계없이 특정 시점의 정보를 영구적으로 보존할 수 있어 디지털 유산 보존에도 기여할 수 있습니다. Kage는 개발자들에게 웹사이트 아카이빙의 새로운 가능성을 제시하며, 더 안정적이고 접근성 높은 오프라인 콘텐츠 경험을 제공할 잠재력을 가지고 있습니다.