Hello all,

I'm using Apache as a HTTP proxy.  Regarding the request and 
response headers, I've done some tests and noticed different 
behaviour in the request and response direction.

The request headers are compressed (i.e. headers with same name are 
merged into one header and comma separated). e.g.

hdr: value1
hdr: value2

becomes,
hdr: value1, value2

This due to ap_get_mime_headers_core() calling 
apr_table_compress().  It occurs in protocol.c before Apache even 
detects that the incoming request is a proxy request.

The response headers on the other hand are read by mod_proxy in 
ap_proxy_read_headers() which calls apr_table_add() but not 
apr_table_compress().

RFC 2616 states that header compression MUST be allowed.

However if a proxy is between a non-compliant client and/or server 
then it would be best to leave the headers in their original form.  
If a direct connection works and a proxied connection fails then 
the proxy will be perceived as the problem.

Could someone point out a reason for the different behaviour in the 
request and response path?

How about making the behaviour configurable so that it's consistent 
in both directions and if necessary the headers can be left in 
their original uncompressed form?

By the way, my tests were on httpd 2.0.59, however reading the 
source for 2.2.3 suggests the same behaviour.

Thanks for your time,
Paul


-- 
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

Reply via email to