Warum Content-Length-HTTP-header-Feld verwenden einen anderen Wert als der in Java-code?

Habe ich ein Stück Java-code zur übertragung eines byte-array in HTTP-server:

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "multipart/form-data; boundary="
    + myBoundary);
connection.setRequestProperty("Content-Length", 1024);

Habe ich dieses code-übertragung ein byte-array, dessen Größe größer als 1024. Es hat gut funktioniert. Aber die eigentliche HTTP-Nachricht (erfasst durch Wireshark) zeigt, dass der Wert des Content-Length ist die tatsächliche Größe anstelle von 1024. Warum?

Suchte ich in HTTP-Spezifikationen, fand aber keinen Hinweis. Ich habe keinerlei Transfer-Encoding oder Transfer-Codierung.

InformationsquelleAutor chance | 2011-05-19
Schreibe einen Kommentar