시나리오
B를 링크하는 문서 A를 작성한다.
이때 문서 A의 블로그 소프트웨어는 문서 B가 핑백이 가능한지 해당 링크의 헤더 또는 <link>를 탐색한다.
핑백 주소를 발견하면 해당 주소로 XML-RPC로 핑백을 보낸다. 핑백에는 문서 A와 문서 B의 주소만 포함되어 있다.
핑백을 받은 문서 B의 블로그 소프트웨어는 문서 A의 주소를 찾아가 <title> 등 필요한 정보를 수집한 후 XML-RPC 응답을 한다.
핑백의 자동 탐색
헤더
핑백이 가능한 자원의 헤더에는 X-Pingback을 추가한다.HTTP/1.1 200 OK
Date: Sun, 08 Sep 2002 15:05:37 GMT
Server: Apache/1.3.26 (Unix)
Last-Modified: Thu, 28 Dec 2000 03:18:26 GMT
ETag: "65044-15b9c-3a4ab102"
Accept-Ranges: bytes
Content-Length: 88988
Connection: close
Content-Type: image/png
X-Pingback: http://charlie.example.com/pingback/xmlrpc
링크
HTML 문서인 때에는 헤더의 대안으로 <link> 요소를 사용할 수 있다.
<link rel="pingback" href="
http://charlie.example.com/pingback/xmlrpc" />
XML-RPC
- pingback.ping
매개변수
- sourceURI
문자열. 타겟에 대한 링크를 포함하는 문서의 절대 주소.
- targetURI
문자열. 작성하는 문서에서 링크를 건 문서의 절대 주소.
반환값
성공했을 경우에는 의미있는 하나의 문자열을 보낸다. 이 문자열은 디버깅 등에만 사용된다.
실패했을 경우에는 다음의 값 중 하나를 가지는 <faultCode>를 전송한다.
- 0 : 일반적인 오류
- 16 : 소스 주소가 없음.
- 17 : 소스 문서가 타깃 문서에 대한 링크를 포함하고 있지 않음.
- 32 : 타깃 주소가 없음.
- 33 : 타깃 문서에 핑백을 할 수 없음. 절대주소가 아닌 경우 등 핑백의 대상이 아님.
- 48 : 핑백이 이미 등록 되었음.
- 49 : 접근 거부.
- 50 : 서버와 통신할 수 없음.