SIM ou NÃO: Um servidor pode enviar uma resposta HTTP, enquanto ainda carrega o arquivo da solicitação HTTP correlativa?
Se um usuário do site enviar um formulário HTML com: (1) um método de postagem; (2) um tipo de dados multipart / form-data; e (3) um arquivo anexado grande, o servidor pode fazer upload de um arquivo postado e enviar uma resposta HTTP gerada pelo servidor antes que o upload do arquivo seja concluído, sem usar o AJAX?
Isso é bem denso. Então, escrevi um exemplo para ilustrar o que quero dizer. Digamos que exista um formulário de upload de imagem com um campo de legenda.
<form action="upload-with-caption/" method="post" enctype="multipart/form-data">
<input type="hidden" id="hiddenInfo" name="hiddenInfo" />
File: <input type="file" name="imgFile" id="imgFile" /><br />
Caption: <input type="text" name="caption" id="caption" />
<input type="submit" />
</form>
Eu quero armazenar a legenda em uma tabela de banco de dados com a definição:
[files_table]
file_id [uniqueidentifier]file_caption [varchar (500)]file_status [int]Quero fazer o upload do arquivo para/root/{unique-id}/filename.ext
.
file_status é mapeado para um C # enum com a seguinte definição:
enum FileUploadStatus{
Error = 0,
Uploading = 1,
Uploaded = 2
}
Quando o formulário é enviado, se o arquivo for muito grande para ser processado em 1 segundo, desejo enviar a página da Web de volta uma resposta que diz que está sendo carregado no momento.
Posso fazer isso com uma única postagem HTTP síncrona?
Nota: Obviamente, desejarei verificar as atualizações de status posteriormente usando o AJAX, mas não é isso que esta pergunta está perguntando. Estou perguntando especificamente se o arquivo pode continuar sendo carregado após o envio da resposta.