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.