W3C-Empfehlung seit Januar 2017
Schlüsselwort: Linkback
HTTP-POST and Ping-URL mit mehreren Parametern:
Problem: Der Sender kann festlegen, wie der Trackback angezeigt werden soll.
Ergebnis ist XML. HTTP-Statuscode wird ignoriert.
Methode: RDF als Kommentar im HTML-Kopf
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Mein Blogeintrag</title> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://www.foo.com/archive.html#foo" dc:identifier="http://www.foo.com/archive.html#foo" dc:title="Foo Bar" trackback:ping="http://www.foo.com/tb.cgi/5" /> </rdf:RDF> --> </head>
XML-RPC war gerade hip.
HTTP-POST von XML-RPC-Daten:
<?xml version="1.0"?> <methodCall> <methodName>pingback.ping</methodName> <params> <struct> <member> <name>sourceURI</name> <value><string>http://bob.example.org/reply.html</string></value> </member> <member> <name>targetURI</name> <value><string>http://alice.example.org/blogpost.html</string></value> </member> </struct> </params> </methodCall>
Ergebnis is XML. HTTP-Statuscode wird ignoriert.
X-Pingback-Header
Regex im Body:
<link rel="pingback" href="([^"]+)" ?/?>
Es wird empfohlen, den Pingback direkt zu verabeiten:
Problem: Spam, DDOS
Anzeige des Pingbacks nicht spezifiziert (nur informelles Beispiel).
HTTP-POST mit Quell- und Zielseite:
$ curl --data source=http://bob.example.org/reply.html\ --data target=http://alice.example.org/blogpost.html\ http://alice.example.org/webmention.php
Auch bei aktualisieren und löschen von Seiten.
Link-Header mit rel="webmention":
Link: <http://alice.example.org/webmention.php>; rel="webmention"
<link rel="webmention">-Tag im <head>
<a rel="webmention">-Tag im <body>
Erfodert einen vollständigen HTML(5)-Parser.
HTTP-Statuscode 201 Created
Location-Header mit Status-URL
Asynchrone Verarbeitung wird empfohlen. Anzeige der Webmention nicht spezifiziert (nur informelles Beispiel).
Spampoblem ist nicht gelöst.
Vouch als Anti-Spam-Methode.
Wird von (fast) niemandem implementiert.
Sehr schwer umzusetzen.
Microformats, http://microformats.org/
<div class="h-entry"> <h1 class="p-name">Vortragsfolien zu Webmention</h1> <div class="e-content"> <p> Die Vortragsfolien zum Webmention-Vortrag bei der PHPUGL sind <a href="http://example.org/slides/wm">hier</a> zu finden. </p> <p> Veröffentlicht am <time class="dt-published" datetime="2017-08-31T23:42:00Z">31.08.2017</time>. </p> </div> </div>
Übersicht: http://microformats.org/wiki/microformats2
Man braucht eine Bibliothek mit HTML(5)-Parser.
Existieren für verschiedene Programmiersprachen:
Sehr komplex, besonders bei Verschachtelung und 100 Datumsformaten.
Tools, um das online zu probieren:
Google unterstützt Mikroformate.
Stellt Posts von Facebook, Twitter u.a. mit Mikroformaten dar.
Verschickt Webmentions: Automatische Kommentare.
Fragen?