Por que o campo de cabeçalho HTTP Content-Length usa um valor diferente daquele fornecido no código Java?

Tenho um código Java para transferir uma matriz de bytes para o servidor 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);

Usei esse código para transferir uma matriz de bytes cujo tamanho é maior que 1024. Funcionou bem. Mas a mensagem HTTP real (capturada por Wireshark) mostra que o valor de Comprimento do conteúdo é o tamanho real em vez de 1024. Por que?

Procurei emHTTP spec mas não encontrou nenhuma dica. Não usei nenhuma codificação de transferência ou codificação de transferência.

questionAnswers(2)

yourAnswerToTheQuestion