Ich sende große Datenmenge in meiner Antwort an den Client in Chunked-Transfer-Encoding-Format.Antwort gesendet in Chunked-Transfer-Codierung und zeigt Fehler auf, nachdem einige Daten bereits gesendet wurden
Wie sollte ich mit irgendwelchen Fehlern umgehen, die auftreten Mitte während des Schreibens der Antwort?
Ich würde gerne wissen, ob es eine empfohlene HTTP-Spezifikation in Bezug auf diese für Clients gibt, um zu wissen, dass die Antwort in der Tat nicht erfolgreich ist, aber dass der Server auf ein Problem stieß.
Danke Remy. Ja ... richtig, ich bin mir bewusst, dass Header zuerst gesendet werden und es keine Möglichkeit gibt, sie zu ändern, sobald wir anfangen, in den Stream zu schreiben. Wie Sie vorgeschlagen haben, schließe ich derzeit die Verbindung, wollte aber wissen, ob HTTP Spec sonst noch etwas darüber aussagt, wie man den Client darüber informieren könnte. Die 0-Länge Brocken interessant, werde ich überprüfen, ob ich etwas in diesem Bereich tun kann. –
Es gibt nur zwei Möglichkeiten, wie Sie dem Client mitteilen könnten, dass etwas schief gelaufen ist. Schließen Sie die Verbindung (was Sie tun sollten), da alles andere als das Empfangen des letzten Chunks mit der Länge 0 ein Fehler ist, oder fügen Sie nach dem Senden des letzten 0-ten Chunks einen benutzerdefinierten HTTP-Header in die Chunked-Fußzeile ein. Die meisten Clients werden einen solchen Header zwar ignorieren, aber wenn Sie Ihren eigenen Client schreiben, können Sie nach diesem Header suchen. –
Sicher..danke! Remy ... –