Why does Content-Length HTTP header field use a value other than the one given in Java code?

У меня есть фрагмент кода Java для передачи массива байтов на HTTP-сервер:

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);

Я использовал этот код для передачи массива байтов, размер которого больше 1024. Он работал хорошо. Но фактическое сообщение HTTP (захваченное Wireshark ) показывает, что значение Content-Length - это фактический размер, а не 1024. Почему?

Я искал в спецификации HTTP , но нашел без намека. Я не использовал кодирование передачи или кодирование передачи.

6
задан Joachim Sauer 19 May 2011 в 09:07
поделиться