REST und GET ... erneut

8

Im Allgemeinen scheint die REST-Gemeinschaft komplexe Daten in GET-Anfragen nicht zu mögen. Ich frage mich, ob es ein gutes Prinzip gibt, oder ob es nur die Einschränkungen (willkürliche URL-Länge) für GET-Wörterbücher vereinheitlicht?

Ich bin mit der Korrespondenz zwischen URLs und Ressourcen zufrieden, aber warum können meine GET-Anfragen keine komplexen Daten im Textkörper der Anfrage aufnehmen, in JSON oder XML (was die HTTP-Spezifikation erlaubt)?

Der Punkt von GET, wie ich es verstanden habe, war, dass GET-Anfragen signalisieren, dass sie den Server-Status nicht ändern. Dies scheint orthogonal zur Komplexität der Anfrage zu sein. Viele Leute schlagen jedoch vor, dass komplexe Abfragen mit einem PUT oder POST erstellt und dann in einem GET bezeichnet werden.

Dies scheint eine Konvention (ohne Körper bei GET-Anfragen) auf den Status eines Prinzips zu heben, mit unglücklichen Nebeneffekten: den Zustand eines anderen Objekts zu erhalten, das es nicht verdient, eine Ressource auf seinem zu sein eigene - das ist die Abfrage.

Aber vielleicht gibt es einen anderen Grundsatz, den ich vermisse - ich begrüße Ihre Kommentare!

    
shaunc 25.01.2012, 21:41
quelle

1 Antwort

4

Die Angst ist, dass bestehende Web-Intermediäre Ihren GET-Körper fallen lassen. Glücklicherweise haben die neuen httpbis-Spezifikationen den Text auf get bodies umformuliert und es ein wenig weniger gruselig gemacht. Persönlich denke ich darüber nach, Gets mit Körpern selbst zu verwenden, weil ich unsichere Anfragen protokollieren möchte und im Moment habe ich keine einfache Möglichkeit, festzustellen, ob ein POST sicher ist oder nicht. Wenn Sie die Kontrolle über die Komponenten haben, die sich zwischen Ihrem User-Agent und Ihrem Ursprungsserver befinden, dann sage ich weiter, verwenden Sie GETs mit Körpern.

    
Darrel Miller 25.01.2012, 22:42
quelle

Tags und Links