Partilhar via


Protocolo de notificação para aplicativos de servidor

O BITS usa a propriedade BITSServerNotificationType para determinar como o BITS envia o conteúdo do arquivo de carregamento para o aplicativo de servidor. Se a propriedade BITSServerNotificationType estiver definida como 1, BITS passará o local do arquivo de carregamento em um cabeçalho. Se a propriedade BITSServerNotificationType estiver definida como 2, BITS passa o conteúdo do arquivo de upload no corpo da solicitação.

Para obter detalhes sobre como o BITS lida com erros do aplicativo de servidor, consulte Manipulando erros de aplicativo de servidor.

Enviar a localização do ficheiro de carregamento num cabeçalho

O BITS passa o local dos arquivos de upload e resposta para o aplicativo de servidor nos cabeçalhos se a propriedade BITSServerNotificationType estiver definida como 1. O aplicativo de servidor abre o arquivo de carregamento, processa os dados e, em seguida, gera o arquivo de resposta. Por padrão, o BITS remove os arquivos de upload e resposta do servidor depois que ele recebe a resposta do aplicativo do servidor. Para que o BITS copie o arquivo de upload para o local especificado pelo nome do arquivo remoto no trabalho, inclua o cabeçalho BITS-Copy-File-To-Destination na resposta. Se você não incluir o cabeçalho e quiser salvar os arquivos de upload e resposta, copie os arquivos de upload e resposta para um novo local antes de responder. A tabela a seguir mostra os cabeçalhos da solicitação.

Cabeçalho da solicitação Descrição
BITS-Original-Request-URL Contém o nome remoto especificado no trabalho.
BITS-Request-DataFile-Name Contém o caminho completo para os dados carregados.
BITS-Resposta-DataFile-Name Contém o caminho completo para onde o BITS espera que o aplicativo de servidor escreva a resposta.

A tabela a seguir mostra os cabeçalhos de resposta.

Cabeçalho da resposta Descrição
BITS-Estático-Response-URL Opcional. Contém o URL absoluto (não especifique um URL relativo) para um arquivo de dados estático para usar como resposta. O arquivo de dados estáticos deve ser acessível pelo cliente BITS. Se você usar esse cabeçalho, não crie o arquivo de resposta especificado no cabeçalho da solicitação BITS-Response-DataFile-Name. Observe que o BITS não exclui esse arquivo para você.
BITS-Copiar-Ficheiro-To-Destination Opcional. Por padrão, se a propriedade BITSServerNotificationType estiver definida como 1 ou 2, o servidor BITS não copiará o arquivo de carregamento para o local especificado pelo nome do arquivo remoto no trabalho. Para que o BITS copie o arquivo para o local especificado pelo nome do arquivo remoto no trabalho, envie este cabeçalho de resposta. Você pode especificar qualquer valor; O BITS não usa o valor. Observe que as pastas no caminho do arquivo remoto devem existir.

A solicitação a seguir mostra o BITS enviando o local do arquivo de upload para o aplicativo de servidor.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
BITS-Request-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\request
BITS-Response-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\response
Content-Length: 0

A seguir mostra a resposta do aplicativo de servidor ao BITS; a resposta é colocada no arquivo especificado pelo cabeçalho da solicitação BITS-Response-DataFile-Name.

HTTP/1.1 200 - OK
Content-Length: 0

Envio do ficheiro de carregamento no corpo do pedido

O BITS envia o arquivo de upload no corpo da solicitação se a propriedade BITSServerNotificationType estiver definida como 2. O envio do arquivo de upload no corpo da solicitação permite que scripts e aplicativos existentes funcionem com modificações mínimas. O arquivo de upload e o arquivo de resposta são passados na solicitação e na resposta, respectivamente. A tabela a seguir mostra o cabeçalho da solicitação.

Cabeçalho da solicitação Descrição
BITS-Original-Request-URL Contém o nome remoto especificado no trabalho.

A tabela a seguir mostra os cabeçalhos de resposta.

Cabeçalho da resposta Descrição
BITS-Estático-Response-URL Opcional. Contém o URL absoluto (não especifique um URL relativo) para um arquivo de dados estático para usar como resposta. O arquivo de dados estáticos deve ser acessível pelo cliente BITS. Se você usar esse cabeçalho, não inclua a resposta no fluxo. Observe que o BITS não exclui esse arquivo para você.
BITS-Copiar-Ficheiro-To-Destination Opcional. Se a propriedade BITSServerNotificationType estiver definida como 1 ou 2, o servidor BITS não copiará o arquivo de carregamento para o local especificado pelo nome do arquivo remoto no trabalho. Para que o BITS copie o arquivo para o local especificado pelo nome do arquivo remoto, envie este cabeçalho de resposta. Você pode especificar qualquer valor; O BITS não usa o valor. Observe que as pastas no caminho do arquivo remoto devem existir.

A solicitação a seguir mostra o BITS passando o arquivo carregado para o aplicativo de servidor no corpo da solicitação.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
Content-Length: 80000

80000 bytes of upload data goes here

A resposta a seguir mostra o aplicativo de servidor passando os dados de resposta para o BITS no corpo da resposta.

HTTP/1.1 200 - OK
Content-Length: 100

100 bytes of reply data goes here

Manipulando erros de aplicativos de servidor

Consulte Manipulando erros de aplicativos do servidor.