네트워크/HTTP 완벽 가이드

17. 내용협상과 트랜스코딩(2) - 트랜스코딩

서버가 클라이언트가 요구하는 조건에 맞는 컨텐츠를 아예 가지고 있지 않을 수 있습니다.

에러로 응답하는 것이 가장 노멀한 방법이지만, 트랜스코딩이라는 대체제도 있습니다.

 

기존의 문서를 클라이언트가 사용할 수 있는 무언가로 변환하는 방식을 트랜스코딩이라고 합니다. 트랜스 코딩에는 포맷 변환, 정보 합성, 컨텐츠 주입 세 종류가 존재합니다!

 

 

포맷 변환

데이터를 클라이언트가 볼 수 있도록 한 포맷에서 다른 포맷으로 변환하는 방식입니다.

(예를들어 모바일이 PC 전용 문서에 접근하려고 한다면, HTML을 WML로 변환해 줄 필요가 있습니다.)

이러한 트랜스코딩은 내용 협상 헤더에 의해 주도됩니다.

 

주의사항

(컨텐츠 + 전송) 인코딩과는 다른 개념임을 주의해야 합니다.

인코딩은 효율적이고 안전한 전송을 위한 기술인 반면, 트랜스코딩은 특정 접근 장치에서 볼 수 있도록 하는 기술입니다.

정보 합성

정보의 요점을 추출하는 기술을 정보 합성이라고 합니다.

이 기술은 제목에 기반한 문서의 개요 생성이나, 페이지에서 광고 및 로고 제거에 이용할 수 있습니다.

주로 포털 사이트의 웹 페이지 디렉터리와 같은 자동화 웹페이지 분류 시스템에 의해 사용됩니다.

 

컨텐츠 주입

포맷 변환과 정보 합성은 웹 문서의 양을 줄이지만, 이 컨텐츠 주입은 오히려 양을 늘리는 변환 기술입니다.

주로 자동 광고 생성과, 사용자 추적 시스템에 이 기술이 사용됩니다.

 

예를 들어 자동 광고 생성에 사용되는 트랜스코딩은 현재 페이지와 관련이 있거나, 아니면 사용자 추적 시스템을 통해 얻어진 정보와 관련 있는 광고를 삽입하기 위해 동적으로 이루어집니다.

 

트랜스코딩 vs 정적으로 미리 생성

트랜스코딩은 앞에서 설명한 바와 같이 컨텐츠를 동적으로 변환하는 기술입니다. 그렇다면 그 반대인 정적인 방법으로는 어떤 것이 있을까요? 바로 웹 서버에 여러 가지 사본을 미리 만들어 놓는 것입니다.

하지만 이 방법은 현실적인 기법이 못됩니다. 지금 서비스되는 페이지들은 정말 작은 요소들이 정교하게 맞물려 돌아가고 있기 때문에, 조금만 요구사항이 달라져도 수많은 요소들을 고쳐야 하며. 모든 버전들에 대한 사본을 만들려면 수없이 많은 공간이 필요하기 때문입니다.