2009.02.26 18:15

트렉백과 핑백의 대한 스크랩


요전에 어떤 분과 트랙백 (Trackback) 을 주제로 약간의 논의를 한 적이 있었다. 그 분은 트랙백을 일종의 링크로 이해하고 계셨고, 그래서 트랙백을 했을 경우 왜 쌍방향성을 가지지 않는지 - 즉, 한 쪽에서 다른 쪽에 트랙백을 하면 양쪽 모두에 트랙백 링크가 기록되는 방식이 더 좋은 것이 아닌지 궁금해하셨다. 나는 그에 대한 이런저런 생각을 주절거렸지만, 실상은 나 자신도 트랙백이라는 개념 자체에 대해 그렇게 명확하게 이해하고 있는 편은 아니었기에 제대로 된 설명과는 거리가 먼 헛소리를 해댈 수밖에 없었다.
 
그래서 얼마 전부터 트랙백, 핑백 (Pingback) 등의 주제를 중심으로 블로고스피어를 돌아다녔다. 재미있는 사실은, 내가 이러한 정보를 찾아 보고 수집하는 과정에서 트랙백의 도움을 크게 받았다는 것이다 - 어떤 포스트를 읽고 나서 거기에 트랙백되어 있는 글들을 읽어 보고, 또 그 글에 트랙백되어 있는 글들을 읽어 보는 체인의 연속......
 
역시 많은 블로거들이 나보다 훨씬 정확하게 이러한 개념들을 숙지하고 계셨다. 이런 분들의 포스트 덕분에 나 자신의 이해도도 조금이나마 높아질 수 있었다. 이렇게 습득한 내용들을 내가 이해한 범위 내에서 나름대로 종합, 정리해 보고자 한다. 혹시 내가 잘못 이해하고 있는 부분이 있다면 지적해 주시길 부탁 드린다.
 
 
대부분의 사람들이 트랙백을 '남이 쓴 글을 보고 그 글과 연관된 주제의 글을 작성하여 이를 연결시킨다' 는 의미로 생각한다 (물론 본인도 그랬다). 그래서 트랙백이라는 단어를 '원격 덧글' 과 같은 용어로 바꿔 사용하는 경우도 있다. 하지만 이는 정확한 정의는 아니다. 트랙백이란, '자신이 작성한 글이 다른 사람의 어떤 포스트와 연관이 있다는 것을 알려 주는 역할을 하는 연결고리 겸 신호로서의 네트워크 규격' 이다. 여기서 중요한 것은, 이 '자신이 작성한 글' 이라는 것은 새로 작성하는 글은 물론, 과거에 작성해 두었던 글들도 포함한다는 점이다.
 
링크 (Link) 의 개념을 한 번 생각해 보자. 보통 블로그에 글을 쓰면 자신의 글과 연관되거나 참고될 만한 문서 또는 객체 (동영상, 음악 등) 가 있으면 해당 웹 페이지에 대한 링크를 본문에 첨부할 때가 있다. 이는 글쓴이가 자신의 글을 읽을 때 이러이러한 문서들을 참고하라는 의미에서 삽입하는 것이다.
 
트랙백은 이것과 반대되는 의미로 이해하면 된다. 예를 들어, 한 블로그의 구독자가 어떤 글을 읽는데, 자신이 거기에 관련되는 글을 가지고 있는 경우가 있다. 그런 때 자신이 해당 블로거에게 '내가 당신이 작성한 이 글과 관련된 문서를 가지고 있는데, 당신이 이런 글을 쓴 만큼 나의 글도 읽고 싶어할 지 모르겠다. 그러므로 링크를 남기도록 하겠다' 는 의미로 작성하는 것이 트랙백이다. 타인의 블로그에 남기는 일종의 역링크인 셈이다. 이럴 경우 해당 블로거, 그리고 그 블로거가 작성한 글을 읽는 다른 구독자들은 트랙백 링크로써 남겨진 글도 함께 읽어볼 수 있다.
 
이처럼 트랙백은 역링크로서의 성격을 가지고 있다. 하지만 역링크도 링크이고, 링크의 가장 본질적인 성질 중 하나는 바로 '단방향성' 이다. '하나의 링크는 한 쪽 방향으로만 진행한다' - 이것은 단점이라기보단 하나의 특성이다. 링크는 꼭 쌍방향으로 연결될 필요는 없다. 쉽게 말하자면, 자신이 블로그 글을 작성하면서 어떤 웹 페이지를 링크했을 경우 그 사람 또한 자신의 글을 링크할 필요는 없다는 것이다. 아니, 보통은 자신이 남의 글을 링크했다는 사실 자체를 알릴 필요도 없다. 이와 마찬가지로, 트랙백도 자신이 어떤 블로그의 글에 트랙백을 했더라도, 자신은 본문에서 '어디어디 글에서 트랙백을 했다' 는 사실 자체를 반드시 기록해야 하는 것은 아니다. 애초에 자신이 트랙백하고자 하는 글이 해당 블로그의 글보다 먼저 작성된 경우라면 작성될 때 해당 글의 영향을 받은 것이 아니기 때문에 굳이 그러한 언급을 할 필요성도 없다.
 
물론 되도록이면 쌍방향으로 연결되는 편이 상호 간의 연결성과 접근성이 보장된다는 측면에서 보다 유용할 것이다. 예를 들어, A 페이지에 B 페이지로의 링크가 있지만 B 페이지에는 A 페이지로의 링크가 없다면 A 로부터 B 로의 접근은 가능하지만 B 로부터 A 로의 접근은 불가능하다. 때문에 일반적으로 웹에선 B 페이지에도 A 페이지로의 연결 링크가 존재하는 경우가 많으며, 이 덕분에 웹은 '거미줄 (Web)' 로서의 특성을 가질 수 있게 된 것이다.
 
그런데, 트랙백을 일종의 링크로 이해하고 있던 적지 않은 사람들은 트랙백 또한 링크와 마찬가지로 상호 간에 연결되어 있어야 접근성 측면 등에서 더 좋지 않겠는가 하는 생각을 하게 되었다. 이 때문에 한 때는 트랙백을 개선해야 한다는 이야기도 나왔었고, 몇몇 블로거들은 서로간에 트랙백을 주고 받는 이른바 '쌍방향 트랙백' 을 하곤 했다 (나도 그랬었다).
 
하지만 문제는 트랙백은 링크이면서도 링크가 아니라는 점이다. 단순한 연결 고리로서의 역할을 하는 링크와는 달리, 트랙백은 어떠한 주제를 가지는 글들을 연결시킴으로써 계층적인 결합 구조를 만드는 역링크이다. 때문에 쌍방향 트랙백으로 연결될 경우 정보의 흐름이 복잡해지면서 글들의 시간적 관계, 인과적 관계, 그리고 계층적 관계를 명확히 알 수 없게 된다.
 
일단 한 쪽 방향으로만 트랙백이 된 상황을 생각해 보자. 대략 아래와 같은 형태의 구조가 될 것이다:
 
 

 
 
여기서의 화살표의 방향은 트랙백 핑 (Trackback Ping) 을 보낸 방향이며, 그림 상에서 횡적 위치가 같다면 같은 날짜에 쓰여진 글이다 (즉, C 와 D, 그리고 E 와 F 는 각각 같은 시기에 작성된 글이다).
 
이것만 알면 기본적으로 위 상황이 어떻게 돌아가고 있는지 비교적 쉽게 파악할 수 있다. 대략 ‘A 는 오래 전에 작성된 글이지만 실질적인 이슈가 되진 못했다. 그리고 이후에 B 글이 쓰여졌고, A 글을 쓴 블로거는 B 글을 보고는 자신이 예전에 쓴 글을 트랙백으로 보내 연관된 글로써 등록시켰다. 그리고 B 글을 읽은 두 블로거가 각각 C 와 D 의 글을 작성하여 B 글에 트랙백을 남겼다. 그리고 C 와 A 의 글을 읽은 E 는 A 와 C 모두에 트랙백을 남겼다.’ 와 같은 시나리오를 생각해 볼 수 있을 것이다. 이런 식으로, 단방향으로만 구성된 트랙백 연결의 경우 구독자의 입장에서 자연스럽게 글의 시간적 흐름이나 인과적 흐름 등을 알 수 있다.
 
하지만 서로간에 모두 트랙백 핑을 보낸 상황이라면 이야기는 달라진다.
 
 

 
 
만약 어떤 사람이 C 글을 먼저 읽었다고 하자. 아까 전 같은 상황이라면 독자는 C 가 B 글을 읽고 이와 관련된 글을 작성했으며, C 글을 바탕으로 해서 E 글이 작성되었다는 것을 쉽게 알 수 있다. 하지만 지금 같은 경우는 그렇지가 않다. 독자는 C 글이 B 글로부터 유래된 것인지, 아니면 C 글이 B 글과는 직접적인 연관이 없이 작성되었지만 추후에 B 글을 쓴 블로거가 C 글에 트랙백을 남긴 것인지조차 알 수 없다. 이렇듯 서로간에 트랙백을 해 버리게 되면 시간적, 인과적, 계층적 흐름이 꼬이게 되고, 때문에 구독자가 트랙백과 링크를 짚어가며 글을 읽어나가는 데도 상당한 혼동이 생길 수밖에 없다.
 
이러한 문제가 발생되지 않도록 하는 가장 쉬우면서도 좋은 방법은 링크와 역링크, 즉 (하이퍼) 링크와 트랙백 둘 다를 사용해 글 간의 연결을 생성하는 것이다. 쉽게 말해, A 가 B 의 주제와 관련된 글을 가지고 있을 경우, B 글에 트랙백을 남김과 동시에 A 글에서 B 글로 가는 링크도 같이 써 주게 되면 B 가 굳이 수동으로 트랙백을 남기거나 할 필요 없이 바로 연결이 형성되는 것이다.
 
하지만 트랙백은 어디까지나 수동 역링크에 가깝다. 때문에 자신의 글에 어떤 블로그 페이지를 링크로써 인용하는 경우, 글 본문에 그 블로그 페이지의 링크를 추가함과 동시에 해당 페이지의 트랙백 주소를 알아서 트랙백도 직접 보내야 한다. 이러한 불편함을 줄일 수 있다는 점에서 주목할 만한 것이 바로 핑백이다.
 
핑백은 본문에 유용한 글을 링크로써 인용했을 때 이를 핑으로 알려 준다는 개념 정도로 정의할 수 있다. 트랙백은 HTTP GET/POST 메서드를 이용하지만 핑백은 XML-RPC를 이용하며, 때문에 핑백을 지원하기 위해선 XML-RPC 패키지 밎 별도의 Parser 가 있어야 한다는 등의 차이점이 있긴 하지만, 본질적으로는 별로 다르지 않다. 
 
그러나 핑백은 블로그 글과 함께 제공되는 RDF 로부터 상대의 역링크 주소를 발견하여 자동으로 연결시켜 주는 기능을 가지고 있다. 쉽게 말하자면, 자신의 블로그 본문에 다른 블로그 페이지의 링크를 걸기만 하면 글 등록 시 상대 블로그의 핑백 주소를 찾아서 신호를 보내고, 받은 쪽에선 이를 바탕으로 자동으로 역링크를 걸어 준다는 것이다. 따라서 굳이 수동으로 트랙백을 보내려 하거나 특별한 주소를 알지 않아도 된다.
 
사실 이 핑백은 Six Apart 가 Movable Type 을 개발하던 때부터 이미 존재해 왔다. 하지만 실제로 널리 쓰이기 시작한 때는 Wordpress 가 핑백을 주요한 기능으로써 지원하면서부터다. 현재는 CNET 등을 포함한 몇몇 웹진들, 올블로그와 같은 메타블로그 사이트도 핑백을 지원하며, 앞으로도 이러한 핑백을 지원하는 곳은 점차 늘어날 전망이다.
 
핑백은 쌍방향 링크를, 그것도 자동으로 구체화한다는 점에서 상당히 매력적인 대안이다. 아직 많은 블로그 툴들이 이 핑백 기능을 지원하지 않고 있지만, 이것이 대중화된다면 사람들은 특별히 역링크를 한다는 인식조차도 하지 않은 상태에서 서로간에 쌍방향 링크를 구축할 수 있게 된다. 물론 핑백이 굳이 필요하지 않다는 주장도 있긴 하지만, 현재 Wordpress 를 사용하고 있는 사람들에게 핑백 기능에 대한 의견을 물어 본다면 아마 거의 모두로부터 '장점으로 인식하고 있다' 는 답변을 들을 수 있을 것이다.
 
Trackback 0 Comment 0