Samuele Kaplun
Samuele.Kaplun at cern.ch
Tue Aug 12 05:10:30 EDT 2008
Dear list, I'm trying to implement a wide support for the HTTP 1.1 protocol in mod_python for streaming files to clients supporting caching, checksumming, range request. In particular I'm now trying to implement support for "Range Retrieval Requests" <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2>. Some range request come in the form of multiple ranges. The corresponding respose should be implemented, according to the rfc, by means of a multipart/byteranges output: <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16> My implementation is currently sending to the user the common HTTP headers and then manually writing each "part" with each corresponding HTTP headers and boundaries. Obviously in the main HTTP header I can't specify the actual content-length, because this will depend on the sum of the parts I'm going to send (and if my interpretation is correct this should account also for each sub-headers and boundaries). In mod_python, not setting the content-length prior to sending the first byte to the client implies using (apparently) chunked-encoding. Since I'm already sending output to the client in a low-level way (by building each part of the multipart) is there a way to avoid chunked-encoding headers to be sent to the client? Should I precalculate the content-length in order to disable chunked-encoding? Best regards, Samuele -- .O. ..O OOO
|