Am 05.11.2013 16:34, schrieb Leif Hedstrom:
> On Nov 5, 2013, at 12:01 AM, Omid Kosari <[email protected]> wrote:
> 
>> I am trying to test ATS performance . In a normal test i checked several urls
>> with three browsers and looking in /var/log/trafficserver/squid.log .
>> for example i loaded following url one time with firefox , another time with
>> google chrome and another time with IE .
>> http://upload.wikimedia.org/wikipedia/commons/2/28/Clouds_Blue_Sky_001.jpg
> 
> A guess would be that you get hit by this:
> 
>       https://issues.apache.org/jira/browse/TS-2245
> 
> I just landed this on master, so give it a test. You would need to set the 
> configs to “2” for it to be safe. What I suspect happens in your case is that 
> the various browsers are differing on what they send for Accept-Language: or 
> one of the other Accept-* headers.
> 
> I’m thinking for v5.0.0, we want to make at least these three configurations 
> the default:
> 
>       CONFIG proxy.config.http.cache.ignore_accept_language_mismatch INT 2
>       CONFIG proxy.config.http.cache.ignore_accept_encoding_mismatch INT 2
>       proxy.config.http.cache.ignore_accept_charset_mismatch INT 2
> 
> There are use cases for both the “0” setting and the “1” setting, but the 
> most sane behavior IMO is the above. 
> But we can’t make this change in the v4.x release cycle, since it’s 
> technically an incompatible configuration change 
> (it does change the behavior)

i am not sure now if 2 is still supported and only the default will change
looking at the description and my explicit origin-config "2" will ineed
be the best option because i remove "Vary" explicit for static files and
for extensions which are handeled with mod_deflate after hat add a vary
for "Accept-Encoding"

currently the settings are at "1" here because "Cache-Control: public, 
proxy-revalidate"
and ETAG-headers on each dynamic page, but "2" would be perfect

* images are never gzip-compressed -> only one version needs to be cached
* static documents which may be compressed -> Vary on encdoing but not 
user-agent
* php-files -> Vary: Accept-Encoding,User-Agent because they may generate 
different content
___________________________________________________________________

I'm thinking we could turn the existing configuration options to trie-state 
configs:

0 - Client header is used / honored even in the absence of Vary: header from 
origin (this is default behavior)
1 - Client header is never used when performing the default alternate selection.
2 - Client header is not used in alternate selection if there is no Vary: from 
origin specifying to use it
___________________________________________________________________

# Properly handle requests behind proxies
<IfModule mod_headers.c>
 <FilesMatch "\.(php)$">
  Header append "Vary" "User-Agent"
 </FilesMatch>
 <FilesMatch
"\.(gif|jpe?g|png|htm|html|xml|sgm|sgml|css|js|txt|htc|ico|flv|mp4|m4v|wmv|mov|mpg|ogv|webm|mp3|wav|ogg|oga|swf|doc|docx|xls|xlsx|ppt|pptx|pdf|eot|ttf|otf|woff)$">
  Header unset "Vary"
 </FilesMatch>
 <FilesMatch 
"\.(htm|html|xml|sgm|sgml|css|js|txt|htc|wav|doc|docx|xls|xlsx|ppt|pptx|pdf|eot|ttf|otf|woff)$">
  Header set "Vary" "Accept-Encoding"
 </FilesMatch>
</IfModule>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to