Ist diese Aussage richtig? Die HTTP GET-Methode hat immer keinen Nachrichtentext
Ist diese Aussage korrekt? HTTP-GET-Methode hat immer keine Nachricht Körper.
Ich finde nicht, irgendeinen Teil des RFC2616 explizit sagen.
Und wenn das nicht wahr ist, dann unter welchen Umständen wird ein Http-GET-Anfrage, eine Nachricht Körper
InformationsquelleAutor der Frage PeopleMoutainPeopleSea | 2011-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weder restclient noch REST Konsole unterstützen diese aber curl nicht.
Den ursprüngliche HTTP-1.1-Spezifikation sagt in Abschnitt 4.3
Abschnitt 5.1.1 leitet uns nach Ziffer 9.x für die verschiedenen Methoden. Keiner von Ihnen verbieten ausdrücklich die Aufnahme einer Nachricht Körper. Allerdings...
Abschnitt 5.2 sagt
und Abschnitt 9.3 sagt
Welche zusammen nahe, dass bei der Bearbeitung einer GET-Anforderung, ein server ist nicht erforderlich zu prüfen, alles andere, dass die Anfrage-URI und der Host-header-Feld.
In der Zusammenfassung, die HTTP-spec nicht verhindern, dass Sie senden eine Nachricht-body mit BEKOMMEN, aber es ist ausreichend, Mehrdeutigkeit, es würde mich nicht überraschen, wenn es nicht unterstützt wurde, von allen Servern.
InformationsquelleAutor der Antwort Dave Durbin
Den alten RFC2616 wurde ersetzt und es wurde ersetzt durch mehrere RFCs (7230-7237).
Neuen RFC 7230 auf HTTP/1.1 sagt ganz klar über Nachrichtentext:
Also neue standard klar Antwort auf die erste Frage. Aber es gibt auch einige alte software, die ignorieren können, die message-body in GET-Anforderung, so müssen Sie vorsichtig sein, und überprüfen Sie, diesem Fall.
InformationsquelleAutor der Antwort alexander.polomodov
Stieß ich auf diese in elasticsearch, wo eine GET-Anfrage mit der Nachricht Körper ist für die Prüfung Analysatoren - https://www.elastic.co/guide/en/elasticsearch/guide/master/analysis-intro.html
Im wesentlichen ist dies eine Anforderung, die nicht etwas ändern auf der server-Seite, aber es erfordert eine lange text-Nachricht übergeben werden, die als input. Scheint wie eine passende Verwendung von GET-request mit einer Nachricht Körper.
InformationsquelleAutor der Antwort Kranthi Kiran P
Ich denke der Spezifikation können Sie eine Nachricht hinzufügen Körper, so die Antwort auf Ihre Frage sein sollte Keine (aber mit Einschränkungen).
Überprüfen wir zuerst die Angabe (ich zitiere aus RFC 7231RFC 7232 und RFC-7234da RFC 2616 bezeichnet in anderen Antworten wurde überholt von Ihnen).
Aus dem RFC 7230:
Beachten Sie, dass der Teil "Einen Nachrichtentext DARF NICHT aufgenommen werden, in eine Anfrage, ob die Spezifikation des request-Methode (Abschnitt 5.1.1) erlaubt nicht das senden ein entity-Körper-Anforderungen." präsentieren in der alten RFC 2616 wurde entfernt.
Auch RFC 7231 sagt dieser zum Thema:
So, in meiner Meinung nach bedeutet dies, dass Sie können eine Nachricht hinzufügen Körper, um eine GET-Anfrage (und das sollte auch die Antwort auf Ihre ursprüngliche Frage), aber Sie müssen vorsichtig sein. Der Fall erwähnt, in den Spezifikationen ist nicht die einzige, die Sie müssen sich bewusst sein, viele tools, client und Server sind einfach nicht erwartet, eine Nachricht Körper und kann sich schlecht benehmen. Zum Beispiel in Chrome, XMLHttpRequest-fallen wird der Nachrichtentext Wird.
Anderen Themen ist man von caching. Nach RFC-7234.
Dies bedeutet, dass Anforderungen mit verschiedenen stellen, aber gleiche url (und ggf. ausgewählten Header), wird berücksichtigt, dass die gleiche Antwort von einem cache, auch wenn der Hauptteil der Nachricht wurde zuvor korrekt weitergeleitet auf den server.
Am Ende denke ich, dass wenn möglich, sollten Sie vermeiden Sie die Verwendung von Nachrichtentexten in Bekommt, es sei denn,
InformationsquelleAutor der Antwort Marco Righele