[squid-dev] Terminating ICAP requests for aborted HTTP requests
Steve Hill
steve at opendium.com
Thu Jul 12 08:34:34 UTC 2018
On 11/07/18 17:16, Amos Jeffries wrote:
> But the chunking here means end of *ICAP* message. Not end of HTTP message.
>
> The ICAP server should use the HTTP message headers to know the HTTP
> message sizes when possible. eg Content-Length and Content-Range values
> indicate whether the HTTP delivered is complete or not.
Indeed, but many responses omit these headers, and it is therefore often
not possible for the ICAP server to know whether it has seen the whole
content. Even HTTP responses that don't use a chunked transfer-encoding
can omit these headers so long as the connection is closed at the end of
the response.
I'm certainly not suggesting that Squid is "wrong" in the technical
sense - it does follow the ICAP protocol specification. Unfortunately
the ICAP specification doesn't address aborted HTTP requests at all, so
I'm wondering what a sensible way of addressing this is.
> If there *is* an ICAP signal then Squid should of course use that in all
> cases of early halted HTTP content. Even when it uses the last-chunk to
> say where the ICAP message ends and the next may begin.
As far as I'm aware, there is no ICAP signal for an aborted HTTP request
- the spec does not address this at all. Could be something for an
updated ICAP RFC in the future though. :)
--
- Steve Hill
Technical Director
Opendium Online Safety / Web Filtering http://www.opendium.com
Enquiries: sales at opendium.com +44-1792-824568
Support: support at opendium.com +44-1792-825748
Opendium Limited is a company registered in England and Wales.
Company No. 5465437
Highfield House, 1 Brue Close, Bruton, Somerset, BA10 0HY, England.
More information about the squid-dev
mailing list