Compartilhar via


Ack para Fragment

Use o pacote Ack for Fragment para reconhecer a solicitação fragment do cliente.

reason-code reason-description
BITS-Packet-Type: Ack
BITS-Session-Id: {guid}
BITS-Received-Content-Range: range
BITS-Reply-URL: url
Content-Length: length
BITS-Error-Code: error-code
BITS-Error-Context: error-context

Cabeçalhos

reason-code

Substitua reason-code por um código de motivo HTTP. A tabela a seguir mostra os códigos de motivo típicos para uma resposta a uma solicitação fragmentada . Para obter uma lista de códigos de motivo HTTP, consulte RFC 2616.

Código do motivo Descrição
200
OK. A solicitação foi bem-sucedida.
416
Intervalo não satisfiável. O cliente enviou um fragmento cujo intervalo não é contíguo com o fragmento anterior.

reason-description

Substitua reason-description pela descrição HTTP associada ao código de motivo. Por exemplo, defina reason-description como OK se reason-code for 200.

Bits-Packet-Type

Identifica esse pacote de resposta como um pacote Ack.

BITS-Received-Content-Range

Deslocamento baseado em zero para o próximo byte que o servidor espera que o cliente envie. Por exemplo, se o fragmento contivesse o intervalo 128 212, você definiria o intervalo como 213.

BITS-Session-Id

GUID de cadeia de caracteres que identifica a sessão para o cliente. Substitua {guid} pelo identificador de sessão que o cliente enviou no pacote de solicitação fragmentado . Se você não reconhecer o identificador de sessão, defina o cabeçalho BITS-Error-Code como BG_E_SESSION_NOT_FOUND.

BITS-Reply-URL

Contém a URL para os dados de resposta de um trabalho de upload-reply. Inclua esse cabeçalho na resposta final do fragmento após a conclusão do upload e você receberá uma resposta do aplicativo de servidor, se aplicável.

Use o cabeçalho Content-Range da solicitação Fragment para determinar se o upload foi concluído. O upload será concluído se o deslocamento final do valor do intervalo for igual ao valor de comprimento total menos um.

O servidor BITS posta o arquivo de upload no aplicativo do servidor depois de determinar que o upload foi concluído. O aplicativo de servidor processa o arquivo e gera a resposta. O servidor BITS define o valor de BITS-Reply-URL como a URL do arquivo de resposta do aplicativo de servidor.

Comprimento do conteúdo

Substitua length pelo número de bytes incluídos no corpo da resposta. Content-Length é necessário, mesmo que o corpo da resposta não inclua conteúdo.

BITS-Error-Code

Substitua error-code por um número hexadecimal que representa um valor HRESULT associado a um erro do lado do servidor. Inclua esse cabeçalho somente se o código-motivo não for 200 ou 201.

BITS-Error-Context

Substitua error-context por um número hexadecimal que representa o contexto no qual o erro ocorreu. Especifique o número hexadecimal para BG_ERROR_CONTEXT_REMOTE_FILE (0x5) se o servidor gerou o erro. Caso contrário, especifique o número hexadecimal para BG_ERROR_CONTEXT_REMOTE_APPLICATION (0x7) se o erro foi gerado pelo aplicativo para o qual o arquivo de upload é passado. Inclua esse cabeçalho somente se o código-motivo não for 200 ou 201.

Comentários

Se a sessão for para um trabalho de upload-reply, pode haver um atraso antes que o cliente receba a resposta final do Ack for Fragment . A duração do atraso depende do tempo que o aplicativo de servidor (aplicativo para o qual o servidor posta o arquivo de carregamento) leva para gerar a resposta.

Confira também

Create-Session

Fragmento