
425
15
장 엔터티와 인코딩
The Definitive Guide
기 위해 여러 번의 인스턴스 조작을 거칠 수 있다. 예를 들어, vcdiff 알고리즘에 의
해 생성된 델타는 gzip 알고리즘을 이용해 압축될 수 있다. 서버 응답은 그다음 IM:
vcdiff, zip 헤더를 포함할 것이다. 클라이언트는 먼저 gunzip으로 콘텐츠의 압축을
풀고, 그 결과로 얻은 델타를 기저 페이지에 적용하여 최종 문서를 얻는다.
델타 인코딩은 전송 시간을 줄일 수 있지만 구현하기가 까다로울 수 있다. 변경
이 잦고 많은 사람이 접근하는 페이지를 상상해보라. 델타 인코딩을 지원하는 서버
는 자신이 제공하는 페이지가 변경되는 매 순간의 사본을 모두 유지하고 있어야 한
다. 그래야 클라이언트가 요청을 보냈을 때 그 클라이언트가 갖고 있는 사본과 최
신 사본간의 차이점을 알아낼 수 있기 때문이다(만약 문서가 자주 변경된다면, 문
서를 요청하는 다른 클라이언트마다 문서에 대한 각기 다른 인스턴스를 받게 될 것
이다. 그들이 서버에 다음번 요청을 할 때, 그들은 문서에 대한 자신의 인스턴스와
최신 버전의 차이에 대한 요청을 할 것이다. 변경점만을 보내는 것을 가능하도록
하기 위해, 서버는 반드시 클라이언트가 가지고 있던 이전 버전의 사본들 모두를
유지해야만 한다). 문서를 제공하는데 ...