트랙백 구현기


평소에 관심이 있던 웹2.0의 키워드 중 하나인 트랙백을 ASP로 구현하게 되었습니다. 관심도 있었던데다 때마침 과장님께서 과제로 내주셔서 짬짬히 시간내어 만들어 보았습니다. 며칠전까지만 해도 트랙백의 구조조차 이해하기 힘들었는데 이제는 로직이 머릿속에 딱딱 떠오르는군요..ㅎㅎ;; XML덕에 처음에 이해하느라 고생좀 했지만; 후에 관련 자료를 찾아보고 구조를 이해하니 의외로 간단했습니다.
 
먼저 제 블로그에 올린 글 중 일부를 발췌하여 트랙백에 대해 간단히 설명을 드리자면..
 
-----------------------------------------------------------------------------------------
A와 B가 있다고 가정을 하겠습니다.
A는 자신의 블로그에 새로나온 게임에 대한 글을 올립니다.
B는 A의 블로그를 방문하다 A의 새로운 게임에 대한 글을 보게 됩니다.
이때 B는 A의 글에 부족한 부분 또는 좀 더 관심있는 부분(혹은 의견교류를 위해)에 대해 자신의 블로그에 글을 쓰고 자신의 글에 A의 글을 걸고싶어 합니다.
B는 자신의 블로그에 가서 글을 작성하고, 작성중 트랙백란에 미리 A의 글에 있던 트랙백주소를 쓰고 글 작성을 마무리 합니다.
이제 A의 글에서 B가 A의 글을 트랙백한 것을 확인할 수 있고 서로 좀 더 원활한 정보 교류를 할 수 있게 됩니다.
(서로 트랙백을 거는 것도 가능)
-----------------------------------------------------------------------------------------
 
A가 쓴 글에는 트랙백 주소가 있겠죠? 당연히 B가 글을쓰면 B의 글에도 트랙백 주소가 생깁니다.
 
위의 예를 들어 B가 A의 글에 트랙백을 건다고 가정해 봅시다.
 
1. B는 A의 트랙백 주소를 자신의 글에 적용합니다.
 
2. 이때, B의 트랙백핑이라는 녀석이 A의 트랙백 주소를 추적합니다.
 
3. 주소를 추적하기전 B 글의 다음과 같은 내용을 POST형식으로 가져갑니다.
(아래의 명칭들은 일종의 규약으로 정보를 보내는데에 쓰이는 변수들 입니다.)
url -> B가 작성한 글의 주소
blog_name -> B의 블로그 이름
title -> 글의 제목
excerpt -> 글의 내용
 
4. B의 트랙백핑이 A의 트랙백 주소에 도달했을 때 A의 트랙백 주소가 올바르다면 DB에 B에서 전해져 온 POST정보를 저장한 뒤 자신의 트랙백 주소가 올바르다는 것을 B의 트랙백핑에 다음과 같은 XML 메세지를 반환합니다.
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
    <error>0</error>
</response>

A의 트랙백 주소가 올바르지 않거나(B의 트랙백 핑이 처리) B에게서 온 POST정보가 잘못되었다면(A의 트랙백 받는 파일이 처리) 올바르지 않다는 XML메세지를 다음과 같이 반환합니다.
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
    <error>1</error>
    <message>에러의 내용</message>
</response>

상기 명시된 XML 메세지도 일종의 규약이라고 보시면 됩니다. 에러의 내용 정도는 어떻게 처리하느냐에 따라 바꿀 수 있지만 에러부분의 0, 1은 그대로 두어야 합니다.
 
5. 이제 B의 글이 A에게서 전달받은 트랙백 핑은 두가지의 경우로 나뉩니다. 에러(에러의 경우는 몇가지 있을수 있겠죠?)와 성공..
이걸 사용자에게 출력해주는 식으로 처리해주면 끝입니다. (<error>0</error>이면 성공 메세지 출력, <error>1</error>이면 에러 메세지 출력)
 
이와 같은 구조를 직업 그림으로 그려 보려고 했는데 마침 정말 잘 설명된 그림이 있어 첨부합니다.



트랙백 구조

그림출처 : nzeo.com / TheMics님

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 마르도르

2007/04/04 18:22 2007/04/04 18:22
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.saystone.com/tc/rss/response/10

Trackback URL : http://www.saystone.com/tc/trackback/10

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 5 : 6 : 7 : 8 : 9 : Next »