회색 브라우저 창 안에 검은 글씨와 파란 밑줄 링크만으로 구성된 CERN의 초기 월드와이드웹 안내 페이지가 표시된 모습
CERN이 복원한 최초의 월드와이드웹 사이트를 브라우저 에뮬레이터에서 연 화면이다. 문서는 단순해 보이지만 글과 링크가 나타나기까지 브라우저와 서버 사이에는 여러 요청과 응답이 오간다. CERN / Tim Berners-Lee · emulator screenshot uploaded 2021 · Wikimedia Commons · Public Domain · Source

Artifact

텍스트 편집기로 .warc 파일을 열면 완성된 웹페이지 대신 낯선 기록들이 이어진다. 같은 주소가 한 번은 request, 다음에는 response라는 이름으로 나타난다. 브라우저가 어떤 경로와 헤더를 보냈는지, 서버가 어떤 상태 코드와 본문을 돌려줬는지, 이미지와 스타일시트가 어느 시각에 도착했는지가 차례로 묶인다. 웹페이지를 보존하는 파일인데 페이지보다 먼저 질문과 답변의 흔적이 보인다.

Observation

WARC(Web ARChive) 형식은 웹 크롤 과정에서 수집한 HTML, 이미지, 스크립트와 동영상만 한데 넣지 않는다. HTTP 요청과 응답, 수집 시각, 대상 주소, 메타데이터, 중복 자원을 가리키는 revisit 기록도 같은 컨테이너에 저장할 수 있다. 국제 인터넷 보존 컨소시엄의 규격은 하나의 수집 사건에서 생긴 요청과 응답을 서로 연결하도록 정의한다. 재생기는 색인에서 주소와 시각을 찾은 뒤 WARC 안의 해당 응답을 꺼내, 과거 서버 대신 브라우저에 돌려준다. 그러나 자바스크립트가 클릭 뒤 자료를 불러오거나 로그인, 화면 크기와 사용자 동작에 따라 다른 요청을 만들면 자동 크롤만으로는 장면 전체가 잡히지 않는다. 그래서 Webrecorder 계열 도구는 사람이 실제로 탐색하는 동안 브라우저의 네트워크 흐름을 기록한다.

요청

보존 대상이 페이지라면 왜 사용자가 보낸 질문까지 남겨야 하는가?

같은 URL도 브라우저의 언어, 쿠키, 기기 정보, 요청 방식과 본문에 따라 다른 응답을 받을 수 있다. 서버는 주소만 보고 파일 하나를 건네는 서랍이 아니다. 사용자가 무엇을 요구했는지 해석한 뒤 그 조건에 맞는 결과를 만든다. 요청을 버리고 응답만 남기면 화면의 재료는 보존할 수 있어도 왜 그 버전이 나타났는지 설명하기 어렵다. WARC의 request 기록은 페이지 앞에 숨은 선택 조건을 증거로 붙인다.

Related Concepts

응답

서버의 답을 저장하면 웹페이지가 그대로 보존되는가?

하나의 HTML 응답은 완성된 화면이 아니다. 브라우저는 문서를 읽다가 글꼴, CSS, 이미지와 스크립트의 주소를 발견하고 다시 요청한다. 스크립트는 실행 중 다른 서버와 API를 부르고, 광고나 영상은 제3자의 도메인에서 온다. WARC는 이 조각들을 수집 시각과 주소별 응답으로 쌓는다. 페이지는 한 파일보다 여러 서버가 잠시 합의한 조립 결과에 가깝다. 조각 하나가 빠져도 글은 남지만 배치, 동작과 의미의 순서가 달라질 수 있다.

Related Concepts

재생

저장된 응답을 돌려주는 일은 복원인가, 새로운 공연인가?

웹 아카이브 재생기는 과거 주소를 가로채 저장된 응답으로 바꾼다. 현재의 브라우저는 오래된 HTML과 스크립트를 다시 해석하고, 색인은 필요한 기록의 위치를 찾아낸다. 이때 과거 서버는 사라졌지만 그 서버가 했던 역할을 재생 소프트웨어가 흉내 낸다. 브라우저 버전이 달라지면 같은 기록도 다르게 보일 수 있어, 복잡한 작품은 브라우저와 서버 환경까지 컨테이너로 보존하기도 한다. 아카이브는 정지 화면을 꺼내는 창고가 아니라 통신 상대를 대신 연기하는 실행 환경이 된다.

Related Concepts

결손

기록되지 않은 클릭은 존재하지 않았던 페이지가 되는가?

수집기는 자신이 요청한 것만 받을 수 있다. 무한 스크롤을 끝까지 내리지 않았거나 메뉴를 열지 않았다면 그 뒤의 자료는 WARC에 들어오지 않는다. 반응형 사이트는 화면 크기에 따라 다른 이미지를 요구하고, 로그인된 계정은 공개 방문자와 다른 세계를 본다. 정교한 캡처일수록 쿠키와 개인화 요청까지 남길 수 있어 개인정보 문제도 커진다. 웹 아카이브의 빈칸은 단순한 기술 실패가 아니다. 누가 어떤 경로로 사이트를 걸었고, 무엇을 누르지 않았으며, 무엇을 기록하지 않기로 했는지가 만든 경계다.

Related Concepts

Twist

웹페이지를 문서의 디지털 버전으로 보면 보존의 목표는 화면을 구성한 파일을 가능한 한 많이 복사하는 일이 된다. WARC는 이 직관을 뒤집는다. 저장하는 핵심 단위 가운데 하나는 페이지가 아니라 특정 시각에 브라우저가 질문하고 서버가 답한 수집 사건이다. 화면은 그 사건들을 현재의 브라우저가 다시 조립할 때 나타나는 결과다.

그렇다고 요청과 응답을 모두 저장하면 원본이 완성되는 것도 아니다. 캡처한 브라우저가 걷지 않은 경로는 남지 않고, 미래 브라우저의 해석은 과거와 다를 수 있다. 보존 도구가 서버를 대신할수록 아카이브는 과거를 수동적으로 보관하기보다 과거의 상대역을 능동적으로 연기한다. 페이지보다 링크를 먼저 본다에서 웹은 문서보다 연결 구조로 먼저 읽혔다. 여기서는 그 연결조차 고정된 선이 아니라 실제 요청이 오갈 때 잠시 성립한 사건으로 바뀐다.

따라서 웹의 원본을 하나의 캡처 화면으로 지정하기는 어렵다. 더 가까운 것은 자료, 요청 조건, 브라우저와 재생 규칙을 함께 묶은 실행 가능한 증언이다. 인터넷을 일주일에 한 번 손으로 배달하는 법이 네트워크의 내용을 물리적 배급으로 옮겼다면, WARC는 사라질 네트워크의 대화를 파일 안에 접어 넣는다.

Core Question

웹페이지가 서버에 놓인 단일 파일이 아니라 브라우저의 요청, 여러 서버의 응답, 사용자의 행동과 재생 소프트웨어가 한때 조립한 사건이고, 아카이브가 그 상대역을 다시 연기해야만 화면이 돌아온다면, 디지털 원본은 눈에 보였던 결과인가, 수집 당시의 통신 기록인가, 아니면 다른 시대의 기계가 그 기록을 다시 실행할 수 있게 하는 조건의 묶음인가?

Further Reading