Ich versuche, meinen Webserver dazu zu bringen, eine HTTP-Antwort mit Chunk-Kodierung korrekt zu gzipen.
Nach meinem Verständnis sieht die Nicht-Gzip-Antwort folgendermaßen aus:
<the response headers>
und dann für jeden Chunk,
<chunk length in hex>\r\n<chunk>\r\n
und schließlich ein Chunk der Länge Null:
0\r\n\r\n
Ich habe versucht, die gzip-Komprimierung zum Laufen zu bringen, und ich könnte etwas Hilfe dabei gebrauchen, herauszufinden, was eigentlich zurückgegeben werden sollte. Diese Dokumentation impliziert, dass die gesamte Antwort gzipped werden sollte, im Gegensatz zu gzipping jedes Chunk:
HTTP servers sometimes use compression (gzip) or deflate methods to optimize transmission.
Chunked transfer encoding can be used to delimit parts of the compressed object.
In this case the chunks are not individually compressed. Instead, the complete payload
is compressed and the output of the compression process is chunk encoded.
Ich habe versucht, das ganze Ding zu gzipen und die Antwort auch ohne chunked zurückzugeben, aber es hat nicht funktioniert. Ich habe versucht, den Content-Encoding-Header auf "gzip" zu setzen. Kann mir jemand erklären, welche Änderungen an dem obigen Schema vorgenommen werden müssen, um das Gzipen von Chunks zu unterstützen? Danke!