© Copyright 2002 Сцюарт Лангридж і Ян Хиксон.
Pingback з'яўляецца метадам для вэб-аўтараў для запыту апавяшчэнні, калі хто-спасылкі на адзін са сваіх дакументаў. Як правіла, вэб-публікацыі праграмнае забеспячэнне будзе аўтаматычна інфармаваць зацікаўленыя бакі ад імя карыстача, што дазваляе магчымасць аўтаматычна ствараць спасылкі на спасылкі дакументаў.
Напрыклад, Аліса піша цікавую артыкул на яе вэб-часопіса. Боб чытае гэты артыкул і каментары пра гэта, спасылак назад да зыходнага паведамленні Алісы. Выкарыстанне Pingback, праграмнае забеспячэнне Боба можа аўтаматычна апавяшчаць Аліса, што яе паведамленне было звязана з ёй, і праграмнага забеспячэння Алісы можа ўключаць гэтую інфармацыю на сваім сайце.
Гэта стабільныя спецыфікацыі. Каментары вітаюцца на рассылку blogite ( архіў ).
Ёсць у цяперашні час шэсць вядомых асобных рэалізацый дадзенай спецыфікацыі, хоць ніякага афіцыйнага тэставання было зроблена, каб праверыць, як сумяшчальныя то яны такія:
Аўтарам настойліва рэкамендуецца Pingback
http://www.hixie.ch/specs/pingback/pingback зарэгістраваць іх рэалізацыі.
Ангельская версія гэтай спецыфікацыі з'яўляецца адзінай нарматыўнай версіяй. Аднак для перакладу гэтага дакумента гл http://www.hixie.ch/specs/pingback/translations/ . У цяперашні час даступныя пераклады:
Гэты падзел быў дададзены пасля канчатковай даты публікацыі спецыфікацыі.
(2007/01/16) Для таго, каб пазбегнуць схільнасці нападаў адмовы ў абслугоўванні, Pingback сервераў, прынесці паказанага дакумента крыніцы (як апісана ў раздзеле 3), настойліва рэкамендуецца накладваць абмежаванні на памер зыходнага дакумента, які будзе разгледжаны і хуткасць перадачы дадзеных. Дзякуючы Блэйк Матени за вынясенне гэтага пытання на нашу ўвагу.
Pingback сістэма шлях для блога, каб быць аўтаматычна апавешчаныя, калі іншыя сайты спасылаюцца на яго. Цалкам празрыста для сувязі аўтар, не патрабуе ўмяшання карыстальніка для працы, і дзейнічае на прынцыпах аўтаматычнага выяўлення усё, што яму трэба ведаць. паведамленні ўзор блог з удзелам Pingback можа выглядаць так:
Гэта дае магчымасць зваротнай сувязі - гэта спосаб зноў нарастаюць ланцугі сувязяў, а не проста бурэння ўніз.
Pingback механізм выкарыстоўвае HTTP-загаловак і HTML або XHTML
<link> элемент для аўтаматычнага выяўлення, а таксама выкарыстае адзін XML-RPC выкліку для апавяшчэння мэтавых сайта спасылка на сайт-крыніца.
Мяркуецца, што сумяшчальныя кліенты Pingback і Pingback серверы быць здзяйсняльная з мінімальнымі высілкамі з выкарыстаннем бібліятэк правіла, даступныя ў CGI-асяроддзя. Па гэтай прычыне патрабаванні да разборы загалоўкаў HTTP і HTML-дакументы былі зведзены да мінімуму.
Ключавыя словы "ПАВІНЕН", "НЕ ПАВІНЕН", "ПАТРАБУЕЦЦА", "БУДЗЕ", "НЕ", "ВАРТА", "НЕ ВАРТА", "РЭКАМЕНДУЕЦЦА", "МОЖА" і "неабавязкова" ў гэтым дакуменце, варта інтэрпрэтаваць, як апісана ў [RFC 2119] .
Існуюць два механізму для аўтаматычнага выяўлення сервераў Pingback: HTML (або XHTML) <link> элементаў і HTTP загалоўкі. Pingback з падтрымкай рэсурсу павінен быць альбо падаецца з X-Pingback загалоўку HTTP ці ўтрымоўваюць
<link> элемент , ці абодвух. Pingback з падтрымкай HTML і XHTML старонкі павінны быць сапраўднымі. Кліенты могуць адмовіцца пошук несапраўдных старонкі для Pingback інфармацыі.
Звярніце ўвагу, што як кліент распавёў крыніца і мэтавай URI, гэта выходзіць за рамкі дадзенай спецыфікацыі. Звычайна блогі будуць здабываць знешнія спасылкі ад пасад да таго, каб знайсці мэтавы URI.
Pingback падтрымкай рэсурсы могуць быць вернутыя з X-Pingback загалоўку HTTP. Напрыклад, малюнак PNG працаваў са наступнымі загалоўкамі б Pingback з падтрымкай:
HTTP/1.1 200 OK Date: Sun, 8 верасня 2002 15:05:37 GMT Server: Apache/1.3.26 (Unix) Last-Modified: Thu, 28 сьнежня 2000 г. 03:18:26 GMT ETag: "65044-15b9c- 3a4ab102 "Accept-Ranges: байт Content-Length: 88988 Connection: блізка Content-Type: малюнак / PNG X-Pingback: http://charlie.example.com/pingback/xmlrpc . PNG ...
Значэнне X-Pingback загаловак павінен быць
абсалютны URI з Pingback XML-RPC-сервер.
Старонкі не павінны ўключаць больш аднаго такога загалоўка. HTML і XHTML дакументаў можа ўключаць <link>
элемент у дадатак да HTTP-загалоўку, хоць гэта не вітаецца. Калі ўключана, загаловак павінен мець дакладна такое ж значэнне, як <link> элемента. У выпадку неадпаведнасці, загалоўка HTTP ПАВІННЫ перавызначыць
<link> элемент, аднак, аўтары павінны ведаць, што некаторыя кліенты не будзе апрацоўваць HTTP загалоўкі з-за абмежаванняў асяроддзя іх пражывання.
Pingback падтрымкай рэсурсы не павінны выкарыстоўваць HTTP
спасылка загалоўка для сервераў рэкламы Pingback. HTTP
спасылка загалоўкі патрабуюць нетрывіяльнага аналізу, і таму лічыцца занадта цяжкай для мэт Pingback аўтаматычнага выяўлення сервера.
HTML або XHTML Pingback старонка на можа ўтрымоўваць
<link> элемента ў адным з наступных двух формаў:
<Спасылка отн = "Pingback" HREF = " Pingback серверы ">
<Спасылка отн = "Pingback" HREF = " Pingback сервер "/>
Пры выкарыстанні, спасылка элемент павінен адпавядаць адпаведнай форме сапраўды (у тым ліку прабелы перад касой рысай, напрыклад).
Старонкі не павінны ўключаць больш аднаго такога элемента, і не павінны ўтрымліваць такія радкі адпаведнасці шаблону , апісаныя ніжэй, калі ён не прызначаны для спасылкі элемента.
Pingback сервера запаўняльнік павінен быць заменены абсалютным URI з Pingback XML-RPC-сервер. Гэты URI не павінен ўключаць асоб, якія не з'яўляюцца & ,
< , > , і
" . Іншыя знакі, якія не павінны быць дапушчальныя ў HTML-дакумент або якія не могуць быць прадстаўлены ў кадоўцы дакумент павінен быць экраніровать з дапамогай % хх
механізм, як апісана ў [ RFC2396 ].
Гэтыя строгія патрабаванні закліканы значна знізіць патрабаванні кліентаў, якія рэалізуюць сервер аўтаматычнага выяўлення, як было палічана, што патрабуецца кліентам рэалізоўваць HTML-парсер ў дадатак да XML-парсер быў занадта цяжкім цяжарам, улічваючы тое, як лёгка было б для старонкі аўтараў выконваць, каб абмежаванні, апісаныя вышэй.
Pingback кліентаў , улічваючы URI крыніцы і мэтавай URI, ПАВІНЕН прынесці мэтавы URI і выканаць наступныя крокі, каб знайсці Pingback URI сервера.
X-Pingback загалоўкі, тое значэнне першага такога загалоўка варта выкарыстоўваць у якасці Pingback URI сервера. Кліенты павінны даследаваць HTTP загалоўкі, калі яны не змогуць. Калі па некаторых прычынах HTTP загалоўкі не даступныя для рэалізацыі, то гэты крок можна прапусціць, аднак, распрацоўшчыкі павінны ведаць, што гэта прывядзе да зніжэння карыснасці іх ужывання ў якасці спасылкі элементы не могуць быць выкарыстаны для рэсурсаў, якія не з'яўляюцца ні HTML, ні XHTML, і HTTP загалоўкі вызначаны, каб перавызначыць сувязь элементаў, калі яны адрозніваюцца.<Спасылка отн = "Pingback" HREF = " ([^"]+) "? /?>
& для
& , < на < ,
> для > , і
" за " ).Пасля вымання гэтага Pingback URI сервера, ён павінен быць выкарыстаны для адправіць XML-RPC-запыту , як апісана ніжэй.
Калі няма X-Pingback загалоўку і рэгулярны выраз не супадае, то мэта ў пытанні не падтрымлівае Pingback, як гэта вызначана ў дадзенай спецыфікацыі, і кліент можа рабіць усё, што яму падабаецца. Тым не менш, рэкамендуецца, каб кліенты ня спрабуюць быць больш мяккім (напрыклад, правільна разбор HTML і шукае <link> элементы, якія выглядаюць як Pingback спасылкі з HTML пункту гледжання), таму што гэта прывядзе да некаторых сістэм прызнаючы сувязь і іншыя ігнаруюць яе.
Кліенты могуць аптымізаваць пошук. Напрыклад:
<link> элементы могуць з'явіцца толькі ў галаве дакумента, кліенты могуць перапыніць, калі радкі
</ HEAD> або <body> бачныя (напрыклад, калі кліент чытае змесціва аднаго радка за адзін раз).Content-Range загалоўка толькі прынесці першыя некалькі кілабайт мэтавай URI.Аднак варта адзначыць, што гэтыя аптымізацыі схільныя да таго, злоўлены на законных дакументаў, напрыклад тыя, якія маюць каментары, якія змяшчаюць радкі, прыведзеныя вышэй, ці тыя, з вялікай убудаванай табліцы стыляў, Які явіўся Pingback спасылцы. Аўтары рэкамендуецца прымаць гэтых магчымых аптымізацый да ўвагі пры прыняцці рашэння, дзе размясціць свае Pingback спасылкі.
Pingback кліентаў , выявіўшы Pingback сервер, варта перадаваць на сервер XML-RPC-запыт з імем метаду pingback.ping і два аргументу, крыніца URI і URI мэтавы адпаведна. [ XML-RPC ]
pingback.pingрадокрадокРадкі , як апісана ніжэй.Сервер павінен адказаць на гэты выклік функцыі ці з аднаго радком ці код памылкі.
Калі Pingback запыт паспяхова, то вяртаецца значэнне павінна быць адной радкі, якія ўтрымліваюць як мага больш інфармацыі, што і сервер злічыць карыснымі. Гэты радок толькі чакаецца, будзе выкарыстоўвацца для адладкі.
Калі ў выніку няўдалай, то сервер павінен адказаць значэнне віне RPC. Код няспраўнасці павінен быць альбо адзін з кодаў, пералічаных вышэй, або агульны нулявой код няспраўнасці, калі сервер не можа вызначыць правільны код няспраўнасці.
Кліенты могуць ігнараваць вяртаецца значэнне, ці быў запыт паспяховым ці няма. РЭКАМЕНДУЕЦЦА, каб кліенты не паказваюць вынік паспяховых запытаў да карыстача.
Атрымаўшы запыт, сервер можа рабіць тое, што ім падабаецца. Тым не менш, рэкамендуецца зрабіць наступнае:
Сцвярджаць, адпаведнасць дадзенай спецыфікацыі Pingback кліент павінен падтрымліваць сервер для аўтаматычнай наладкі , як апісана ў дадзенай спецыфікацыі і павінны правільна адправіць Pingback XML-RPC-выклікі .
Сцвярджаць, адпаведнасць гэтай спецыфікацыі Pingback сервер павінен быць здольны атрымліваць Pingback XML-RPC-выклікі і заўсёды вяртаюць вынікі, якія адпавядаюць дапушчальным значэнняў вяртання . Вяртаючыся дэталёвага (не нуль) кодаў няспраўнасцяў з'яўляецца неабавязковым.
Заўважым, што некаторыя серверы Pingback, магчыма, не звязаных старонках. Напрыклад, сервер Pingback шлюз можа быць аўтаномным, і іншыя старонкі будзе выкарыстоўваць спасылку элемент спасылку на гэтую шлюз замест падавання сервер самастойна. Сцвярджаць, адпаведнасць гэтай спецыфікацыі Pingback з падтрымкай рэсурсу павінен мець або HTTP
X-Pingback загаловак ці спасылку элемент для таго, каб дазволіць серверу аўтаматычнага выяўлення.
Сцвярджаць, адпаведнасць гэтай спецыфікацыі Pingback агент карыстальніка павінен падтрымліваць сервер для аўтаматычнай наладкі , як апісана ў дадзенай спецыфікацыі, неабходна правільна адправіць Pingback XML-RPC-выклікі , павінны мець магчымасць атрымліваць Pingback XML-RPC-выклікі , павінен заўсёды вяртаць вынікі, якія адпавядаюць дазволена вяртанне значэння (вяртанне дэталёвага (не нуль) кодаў няспраўнасцяў не з'яўляецца абавязковым), і, павінна быць альбо HTTP
X-Pingback загаловак ці спасылку элемента на ўсіх патэнцыйных мэтавых старонак для таго, каб дазволіць серверу аўтаматычнага выяўлення.
Вось больш дэталёвы погляд на тое, што можа адбыцца паміж Алісай і Бобам на працягу прыклад, апісаны ў увядзенні .
http://alice.example.org/ # p123 і адрас спасылкі ў блог Боба
http://bob.example.net/ # Foo .http://bob.example.net/ # Foo .X-Pingback загаловак, але не можа знайсці.<link rel="pingback" href="http://bob.example.net/xmlrpcserver">Калі гэты тэг не было, якія змяшчаюцца на старонцы, то блог Боба не будзе падтрымліваць Pingback, таму праграмнае забеспячэнне Алісы адмовіліся б тут (перайсці да наступнай спасылцы знойдзеных на кроку 2).
http://bob.example.net/xmlrpcserver :
pingback.ping ('http://alice.example.org/ # p123', 'http://bob.example.net/ # фу')
Там сканчаецца праца, якая праводзіцца сістэма Алісы. Астатнія працы выконваюцца блогу Боба.
http://alice.example.org/ # p123
(спасылкі на сайт Боба) і
http://bob.example.net/ # Foo (старонка Аліса злучана з).http://bob.example.net/ # Foo на самай справе паведамленне на гэтым блогу.http://alice.example.org/ # p123 і правярае Content-Type суб'екта вярнуўся, каб пераканацца, гэта тэкст нейкі.http://bob.example.net/ # Foo (для прадухілення спаму з Pingbacks).