PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Content-Type Negotiation mit Symfony2

Note: This article was originally published at Planet PHP on 30 August 2012.
Planet PHP

Die MAchtigkeit und Einfachheit des HTTP wird in vielerlei Hinsicht oft unterschAtzt. Der folgende Artikel stellt einen Aspekt vor, bei dem genau dies der Fall ist: Die Aushandlung des Formats, in welchem Daten per HTTP transportiert werden. Leider wird in den allermeisten HTTP-Applikationen Aber das Format der Antwort nicht verhandelt. Es werden beispielsweise GET-Requests kategorisch mit html beantwortet, ob ein Newsfeed als Atom oder RSS geliefert wird, entscheidet ein URL-Parameter. Auch ist das Kriterium dafAr, mit JSON oder XML zu antworten, nicht zu selten, ob auf die Ressource via XMLHTTPRequest zugegriffen wird. Hierbei halten sich selbst moderne HTTP-Applikationen kaum an den Standard.


Das Problem


Unser Anwendungsbeispiel ist eine Applikation, in der alle Daten sowohl in Form von html-Dokumenten als auch in JSON ausgeliefert werden kAnnen. Genau fAr solche Zwecke sieht das HTTP den Request-Header Accept vor. Ein HTTP-Client kann diesen nutzen, um dem Server mitzuteilen, welches Format er gerne in der Antwort vorfinden wArde. Dabei kann er nicht nur ein einzelnes Format angeben, sondern auch mehrere und diese sogar priorisieren.


Continue reading "Content-Type Negotiation mit Symfony2"