Re: [PATCH] HTTP/1.1 response caching upgrade

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Thu, 18 Oct 2012 13:22:46 +1300

On 18.10.2012 04:52, Alex Rousskov wrote:
> On 10/16/2012 03:24 AM, Amos Jeffries wrote:
>> Updated patch with requested changes.
>
>
>> +#if USE_HTTP_VIOLATIONS // response header Pragma is undefined in
>> HTTP
>> + else {
>> + // Expensive calculation. So only do it IF the CC:
>> header is not present.
>> +
>> + /* HACK: Pragma: no-cache in _replies_ is not
>> documented in HTTP,
>> + * but servers like "Active Imaging Webcast/2.0" sure
>> do use it */
>> + if (rep->header.has(HDR_PRAGMA) &&
>> +
>> rep->header.hasListMember(HDR_PRAGMA,"no-cache",','))
>> + EBIT_SET(entry->flags, ENTRY_REVALIDATE);
>> + }
>> +#endif
>
> Pragma is defined in HTTP RFC 2616. Even if that definition is
> removed

*request* Pragma is defined.

> in HTTPbis, it does not make our interpretation of Pragma a
> violation.
> Using a header "undefined in HTTP" is not an HTTP violation.
>

*response* Pragma is mentioned only to say that HTTP defines *no*
values and SHOULD be ignored. It may very well be defined with different
semantics by some other RFC although I have not as yet found one.

This is a probably obsolete hack for *response* Pragma. (Active Imaging
Webcast/2.0 and Netscape/3.0 are long dead. And proper video streaming
is now more mature, etc).

> The old Squid code did not have USE_HTTP_VIOLATIONS restriction
> around
> Pragma handling. I do not see why this restriction should be
> introduced.
> If it is introduced, please document both the fact and rationale in
> the
> proposed commit message.
>

Will do.

Amos
Received on Thu Oct 18 2012 - 00:22:50 MDT

This archive was generated by hypermail 2.2.0 : Thu Oct 18 2012 - 12:00:06 MDT