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 do servidor. Se a propriedade BITSServerNotificationType estiver definida como 1, o BITS passará o local do arquivo de carregamento em um cabeçalho. Se a propriedade BITSServerNotificationType estiver definida como 2, o BITS passará o conteúdo do arquivo de carregamento no corpo da solicitação.
Para obter detalhes sobre como o BITS manipula erros do aplicativo do servidor, consulte Manipulando erros do aplicativo do servidor.
Enviando o local do arquivo de upload em um 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 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 carregamento para o local especificado pelo nome do arquivo remoto no trabalho, inclua o cabeçalho BITS-Copy-File-To-Destination em sua 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 de 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-Response-DataFile-Name | Contém o caminho completo para onde o BITS espera que o aplicativo do servidor grave a resposta. |
A tabela a seguir mostra os cabeçalhos de resposta.
Cabeçalho de resposta | Descrição |
---|---|
BITS-Static-Response-URL | Opcional. Contém a URL absoluta (não especifique uma URL relativa) para um arquivo de dados estático a ser usado 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-Copy-File-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 esse 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 carregamento para o aplicativo do 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 é mostrada 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
Enviando o arquivo de upload no corpo da solicitação
O BITS envia o arquivo de carregamento 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 o mínimo de modificações. 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 de resposta | Descrição |
---|---|
BITS-Static-Response-URL | Opcional. Contém a URL absoluta (não especifique uma URL relativa) para um arquivo de dados estático a ser usado 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-Copy-File-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 esse 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 aplicativo do servidor
Consulte Manipulando erros de aplicativo do servidor.