JsonP Fallback

Aktuelle Browser erlauben keine HTTP Requests zu fremden Hostnamen. Allerdings gibt es hierfür eine “Lücke” in den Browsern. Denn das Laden von JavaScript Dateien von anderen Hostnamen ist erlaubt. Dadurch ist es möglich API Abfragen als Laden einer JavaScript Datei zu verschleiern: JsonP.

Verschleierung des Requests als Laden einer JavaScript Datei:

<script src="http://2x.dragonjsonserver.de/jsonrpc2.php?id=1&method=Application.ping&callback=callback">

Antwort des Servers wird dementsprechend vom Browser ausgeführt:

callback({"result":null,"id":"1","jsonrpc":"2.0"});

Dies erforderte einige Anpassungen am Server. Daher erlaubt der Server GET Requests mit den Angaben im Query und gibt die Daten als Argument einer Callbackmethode aus.