Joshua Slive wrote:

> I'm no protcol expert, but that doesn't make sense to me.  mod_negotiation
> should be adding "Accept-Language" to the Vary: header (yep, it's doing
> that), but it shouldn't be setting Expires, should it?  Proxies should be
> free to cache the page, conditional on the Accept-Language.

Here's the chunk of code from mod_negotiation:

if ((!do_cache_negotiated_docs(r->server)
         && (r->proto_num < HTTP_VERSION(1,1)))
         && neg->count_multiviews_variants != 1) {
        r->no_cache = 1;
}

and yes, HTTP version does make a difference:

[gregames@gandalf gregames]$ runsocks nc httpd.apache.org 80
HEAD /docs/mod/core.html HTTP/1.1
host: httpd.apache.org

HTTP/1.1 200 OK
Date: Tue, 22 Jan 2002 19:46:47 GMT
Server: Apache/2.0.29 (Unix)
Content-Location: core.html.en
Vary: negotiate,accept-language
TCN: choice
Accept-Ranges: bytes
Content-Type: text/html
Content-Language: en

for comparison purposes:

[gregames@gandalf gregames]$ runsocks nc httpd.apache.org 80
HEAD /docs/mod/core.html HTTP/1.0
host: httpd.apache.org
 
HTTP/1.1 200 OK
Date: Tue, 22 Jan 2002 19:49:07 GMT
Server: Apache/2.0.29 (Unix)
Content-Location: core.html.en
Vary: negotiate,accept-language
TCN: choice
Accept-Ranges: bytes
Connection: close
Content-Type: text/html
Content-Language: en
Expires: Tue, 22 Jan 2002 19:49:07 GMT

...so Andrzej's squid must be using HTTP/1.0

Greg

Reply via email to