consideri una grande richiesta HTTP:È accettabile che un server invii una risposta HTTP prima che sia stata ricevuta l'intera richiesta?
POST /upload HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 1048576
...
Il client ora inizia il caricamento di un megabyte di dati, che può richiedere un po '. Tuttavia, il server determina che è necessaria l'autorizzazione HTTP, quindi decide di rispondere con HTTP 401 Unauthorized
.
DEVE attendere che il server abbia ricevuto l'intera richiesta (IE, intestazioni + CRLF CRLF + Content-Length
byte) prima che possa rispondere?
In termini pratici, tale comportamento interromperà qualsiasi browser? I browser continuano a caricare il file in ogni caso, o interromperanno la trasmissione se ricevono una risposta "prematura"?
Ancora più importante, in questo scenario, saranno in grado di autenticare con successo e ricominciare il caricamento (con credenziali), o è inaffidabile interrompere il caricamento in questo modo?
Così hai trovato la risposta? –
@DonghwanKim: Sì, è valido per un server HTTP inviare una risposta prima che sia stata ricevuta l'intera richiesta. Sfortunatamente, [nessun browser vedrà la risposta anticipata e smetterà di inviare la richiesta] (http://stackoverflow.com/a/18370751/201952), che probabilmente è in violazione della RFC 2616 § 8.2.2. – josh3736
Grazie, è bello sapere –