웹마스터 팁

http://micsland.com/board/zboard.php?id=study&no=10머리말: 이 게시물은 퍼가셔도 됩니다. 하지만 머리말과 작성자는 꼭 명시해주셨으면 합니다.
===================================================================================

트랙백 구현하기 - 2. 트랙백의 형식

앞에서 트랙백은 트랙백 핑이라는 형태로 전달된다고 했습니다. 그렇다면 이 트랙백 핑과 답변의 형식을 알아야 내용을 전송할 수 있을텐데요, 이것은 정형화된 구조이므로 프로토콜이라고 할 수 있습니다.

먼저 트랙백 핑을 보내는 방법입니다. 트랙백 핑은 상대 서버로 4가지 POST변수를 넘겨주는 형태로 처리됩니다. 이 4가지 변수는 url,blog_name,title,excerpt 인데요, 이름에서 짐작하실 수 있듯이 새로 작성되는 글의 URL, 블로그의 이름, 글 제목, 글 내용을 담고 있는 변수들입니다.

우선 핑을 보내기 전에 트랙백 주소가 실제로 존재하는지를 점검하기 위해 fopen등의 함수로 해당 주소를 일단 열어보는 등의 과정을 거치게 됩니다. 이후 실제 핑을 보낼 때에는 상대 서버에 접근해서 데이터를 넘겨줘야 하므로 fsockopen등의 네트워크 함수나 소켓 함수를 사용합니다.

핑을 받은 서버에서는 내용을 정리하고 답변을 줘야 할 텐데요, 물론 url,blog_name,title,excerpt의 POST변수를 받아 일련의 과정을 처리하게 됩니다. 일단 넘어온 해당 변수의 이상유무와 원본 게시물의 존재여부 등을 검사한 후 답변을 해 주어야 합니다.

답변은 XML을 출력하는 형태로 이루어지는데요, 에러가 없을 때에는

<?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?>
<response>
    <error></error>
</response>

의 내용을, 에러가 있을 시에는

<?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?>
<response>
    <error>1</error>
    <message>에러의 내용</message>
</response>

를 출력해줍니다. 물론 에러가 없을 때에만 DB에 내용을 저장해야겠죠.

그럼 다시 핑을 보내는 서버로 돌아오면, 해당 프로그램이 저 출력 내용을 다시 가져와서 해석하게 됩니다. 만약 에러가 없다면 문제 없이 글 등록을 완료시키면 될 것이고, 있다면 에러의 내용을 작성자에게 출력해 줍니다.

tb_05.gif
그림 1: 트랙백 프로토콜 정리

이 과정을 총정리한 것이 위 그림입니다. 정리하자면, url,blog_name,title,excerpt의 네 변수를 POST로 보내면 XML로 성공/오류 여부의 답변이 반환되는 것이라 할 수 있습니다.


다음편에서는 본격적으로 프로그래밍의 범주로 들어가, PHP로 트랙백 핑을 보내는 방법에 대해 설명하겠습니다.
제목 글쓴이 날짜
초간단 스팸방지 하면서 곧바로 메일 보내기 [3] U2em 2004.05.31
해당 ftp 파일 서버에서 다른곳의 ftp 파일 서버로 백업용도 및 전송하기.. [9] 김동욱 2004.05.30
초간단 설문조사 소스 [3] 이혁 2004.05.27
PHP로 구현하는 음악 감상실 [9] file 컴도미 2004.05.21
[국밥PHP] 1-1(1). 개념정리 Break Time (Build 1) [7] 9000㎒ 2004.05.18
팁 아닌 팁 한달전... http://zentoo.com 2004.05.15
포털사이트 처럼 시스템 점검중 만들기 [3] http://zentoo.com 2004.05.14
PHP 4에서 PHP 5로 이행 [5] 이종현 2004.04.30
PHP5 RC2 Released. [4] 써니루루☆ 2004.04.27
트랙백 구현하기 - 2. 트랙백의 형식 file TheMics 2004.04.22
트랙백 구현하기 - 2. 트랙백의 형식 file TheMics 2004.04.22
엔지오 채널 따라하기 -_-& www자동 붙이기 [6] 박종찬 2004.04.18
트랙백 구현하기 - 1. 트랙백이란 무엇인가? [4] file TheMics 2004.04.18
[국에 밥말아먹는 PHP 프로그래밍] 1-1. PHP는 뭐하는 밥이냐?! (상) (Build 2) [17] 9000㎒ 2004.04.18
배열의 정렬에 대한 약간의 강의 [2] ♡다솜지기♡ 2004.04.02
드디어 PHP 5 RC1 발표(04.03.18) [8] 써니루루☆ 2004.03.19
PHP와 MYSQL연동 관련함수 [3] 백무혼 2004.03.07
함수] Exec 함수에 대한 간략한 설명 [3] NS 2004.03.05
초간단 인라이브 방송여부 알아보기 프로그램. [12] 심심타 2004.03.01
[허접팁]윈엠프 리스트창에 방송정보 보여주기;;[수정] [5] file 『처니리♂』 2004.02.29