> 2. Add "SetEnv force-no-vary" to httpd.conf. The problem with this is
> that it also degrades the connection to HTTP/1.0, which presumably has
> the side effect of killing HTTP pipelining. On a heavily trafficked
> site with a lot of small files requested on each page view, this is
> not a good trade-off.

I don't think so.  HTTP/1.0 defaults to keepalive off, but still allows
keepalive.  Pipelining beyond that isn't AFAIK well-supported in today's
browsers, so isn't really an issue.  But I haven't looked at force-no-
vary, which presumably has a specific purpose.

I did some quick research and you are correct: No version of IE
supports pipelining so it's really a non-issue for that browser. So
suppose I leave the Apache source alone and just put the following
line in httpd.conf:

BrowserMatch MSIE force-no-vary

But is that going to have a negative effect somewhere? In addition to
mod_negotiation I'm also using mod_deflate, and just upstream a
different server is running mod_proxy. I don't really understand the
connection between Vary, IE, mod_deflate, and proxies, but from what I
understand there can be pitfalls.

I'm also a little concerned about globally turning off Vary for
Internet Explorer and consequently reverting back to HTTP/1.0. Since
IE was never using pipelining in the first place, I don't know that
this will really be an issue now, but are there other ways that
performance will be decreased by doing this?


> 1. Modify src/main/http_protocol.c so that "force-no-vary" does not
> also trigger "force-no-response".

Both of those are hacks.  I'd say go ahead if and only if you can trace
and understand the exact purpose of them, and how that'll affect them.

If I knew what I was doing here, I wouldn't need to post :-)

Really, I have no idea what the consequences of this would be. But
I've more-or-less decided against it. If I change anything, it'll
probably be mod_negotiation.c, not http_protocol.c.


> 2. Modify src/modules/standard/mod_negotiation.c by commenting out the
> entire section that sets the Vary and TCN headers in the first place.

It might be as simple as reordering mod_negotiation's adding the headers
and mod_headers hacking them.  But I'd need to look.

I sent a diff to the list in a followup message showing what I
commented out to get rid of the headers. It looks safe enough, and it
definitely works, but I just don't know anything about the Apache code
and what I might be breaking.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to