Invio una grande quantità di dati nella risposta al client in formato di codifica di trasferimento chunked.Risposta inviata in codifica di trasferimento chunked e che indica che si sono verificati errori dopo che alcuni dati sono già stati inviati
Come dovrei occuparmi di eventuali errori che si verificano a metà del durante la scrittura della risposta?
Mi piacerebbe sapere se esiste una pratica raccomandata dalle specifiche HTTP in merito ai clienti per sapere che in effetti la risposta non è riuscita, ma che il server ha riscontrato qualche problema.
Grazie Remy. Sì ... giusto, sono consapevole che le intestazioni vengono inviate per prime e non c'è modo di modificarle una volta che avremo iniziato a scrivere nello stream. Come hai suggerito, attualmente chiudo la connessione, ma volevo sapere se esiste un altro modo in cui le specifiche HTTP dicono come si potrebbe far sapere al client. Il chunk di lunghezza 0 interessante, controllerò per vedere se posso fare qualcosa in quell'area. –
Ci sono solo due modi in cui puoi far sapere al cliente che qualcosa è andato storto. Chiudi la connessione (che è ciò che dovresti fare) poiché qualcosa di diverso dal ricevere l'ultimo chunk di 0 lunghezze è un errore, oppure metti un'intestazione HTTP personalizzata nel piè di pagina chunked dopo aver inviato l'ultimo blocco di 0-lenth. La maggior parte dei client probabilmente ignorerà tale intestazione, ma se stai scrivendo il tuo client, puoi cercare quell'intestazione. –
Certo..grazie! Remy ... –