> 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: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx