2013-02-07 11 views
30

Ich versuche derzeit, http-basierte Datenübertragung zwischen mehreren Anwendungen zu optimieren. Unser aktueller Ansatz, zuerst herunterladen und dann die Nach-Anfrage erstellen, fügen Sie natürlich zusätzliche IO/Speicher-Last und Latenzen hinzu, die ich gerne umgehen würde.HTTP-POST: Inhaltslänge Header erforderlich?

Die Kernfrage aller:

Ist es erforderlich, einen "Content-Length" Header in HTTP-POST-Anfragen zu senden? IIRC, HTTP 2616 erklärt, dass es optional ist, aber ich bin mir nicht sicher, wie sich Anwendungen an diesem Punkt tatsächlich verhalten.

+0

Für Responder finden http://stackoverflow.com/q/15991173/632951 – Pacerier

Antwort

19

Hängt davon ab, was Sie mit optional meinen. Wenn Sie meinen, dass Sie die Überschrift einfach weglassen können, wann immer Sie möchten, dann ist das nicht optional. Die HTTP-Spezifikation hat sehr spezifische Regeln, wann diese Überschrift verwendet werden soll. Es gibt verschiedene Möglichkeiten, die Daten zu senden, wenn Sie die Länge nicht kennen. Chunked-Codierung zum Beispiel.

4.4 Message Length

+5

Kurz gesagt, für POST-Anfragen eines 'Content-length' oder' Transfer-Encoding: chunked' Header sollte Geschenk. – Salar