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 upload para o aplicativo de servidor. Se a propriedade BITSServerNotificationType estiver definida como 1, BITS passará o local do arquivo de upload em um cabeçalho. Se a propriedade BITSServerNotificationType estiver definida como 2, BITS passará 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 Tratando erros de aplicativo do servidor.
Enviando o local do arquivo de upload em um cabeçalho
O BITS passa o local dos arquivos de carregamento 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 upload, 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çalhoTo-Destination BITS-Copy-File na resposta. Se você não incluir o cabeçalho e quiser salvar os arquivos de upload e resposta, será necessário copiar 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 de solicitação | Descrição |
---|---|
BITS-Original-Request-URL | Contém o nome remoto especificado no trabalho. |
Solicitação de BITS-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 servidor escreva 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 de solicitaçãoDataFile-Name BITS-Response. 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 upload 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 upload 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
O seguinte mostra a resposta do aplicativo de servidor ao BITS; a resposta é colocada no arquivo especificado pelo cabeçalho de solicitaçãoDataFile-Name BITS-Response.
HTTP/1.1 200 - OK
Content-Length: 0
Enviando o arquivo de upload no corpo da solicitação
O BITS enviará 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 de 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 upload 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 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 tratando erros de aplicativo do servidor.