[squid-users] Dynamic/CDN Content Caching Challenges
Muhammad Faisal
faisalusuf at yahoo.com
Thu Apr 14 11:21:16 UTC 2016
Thanks i will keep grinding on other websites. Currently working on
streaming videos to be served from Cache. I'm a bit confuse on cache hit
reason why its miss is it because of 206 or some other reason:
TCP_MISS/206 3874196 GET
http://cw002.foo.net/files/videos/2015/12/30/145148227265e28-360.mp4 -
ORIGINAL_DST/a.b.c.d video/mp4
Im trying with the regexp with store-ID helper to be served from the
cache and save it as single object because [cw002] could change and will
result in a different object.
so my understanding with storeid helper to deal with those objects which
are similar but originating from different hosts is correct?
http:\/\/(cws[0-9]+)\.foo.net\/files\/videos\/.*\/.*\/(.*\.mp4)
to store as http://cdn.foo.net/" . $1
--
Regards,
Faisal.
------ Original Message ------
From: "Amos Jeffries" <squid3 at treenet.co.nz>
To: "Muhammad Faisal" <faisalusuf at yahoo.com>;
squid-users at lists.squid-cache.org
Sent: 4/14/2016 3:59:14 PM
Subject: Re: [squid-users] Dynamic/CDN Content Caching Challenges
>On 14/04/2016 9:32 p.m., Muhammad Faisal wrote:
>> Thanks Amos for a detailed response.
>> Well for Squid we are redirecting only HTTP traffic from policy
>>routing.
>> The object is unique which is being served to clients but due to
>> different redirection of every user a new object is stored.
>>
>> What about http streaming content having 206 response code how to
>>deal
>> with it? afaik squid dont cache 206 partial content. Is this correct?
>
>Squid does not cache 206 from the server. But a HIT served by Squid can
>be 206 status.
>
>>
>> e.g filehippo below is the sequence:
>>
>> When I click download button there are two requests one 301 which
>> contains (Location header for the requested content) and second 200:
>>
>> 301 Headers: ?
>>
>> GET
>>
>>/download/file/6853a2c840eaefd1d7da43d6f2c94863adc5f470927402e6518d70573a99114d/
>> HTTP/1.1
>> Host: filehippo.com
>> Accept:
>>
>>text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
>> Accept-Encoding: gzip, deflate, sdch
>> Accept-Language: en-US,en;q=0.8
>> Cookie: FHSession=mfzdaugt4nu11q3yfxfkjyox;
>> FH_PreferredCulture=l=en-US&e=3/30/2017 1:38:22 PM;
>> __utmt_UA-5815250-1=1; __qca=P0-1359511593-1459345103148;
>> __utma=144473122.1934842269.1459345103.1459345103.1459345103.1;
>> __utmb=144473122.3.10.1459345119355; __utmc=144473122;
>>
>>__utmz=144473122.1459345103.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);
>> __utmv=144473122.|1=AB%20Test=new-home-v1=1
>> Referer:
>>
>>http://filehippo.com/download_vlc_64/download/56a450f832aee6bb4fda3b01259f9866/
>>
>> Upgrade-Insecure-Requests: 1
>> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
>> (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
>>
>> HTTP/1.1 301 Moved Permanently
>> Accept-Ranges: bytes
>> Age: 0
>> Cache-Control: private
>> Connection: keep-alive
>> Content-Length: 0
>> Content-Type: text/html
>> Date: Wed, 30 Mar 2016 13:38:45 GMT
>> Location:
>>
>>http://fs37.filehippo.com/9546/46cfd241f1da4ae9812f512f7b36643c/vlc-2.2.2-win64.exe
>>
>> Via: 1.1 varnish
>> X-Cache: MISS
>> X-Cache-Hits: 0
>> x-debug-output: FHSession=mfzdaugt4nu11q3yfxfkjyox;
>> FH_PreferredCulture=l=en-US&e=3/30/2017 1:38:22 PM;
>> __utmt_UA-5815250-1=1; __qca=P0-1359511593-1459345103148;
>> __utma=144473122.1934842269.1459345103.1459345103.1459345103.1;
>> __utmb=144473122.3.10.1459345119355; __utmc=144473122;
>>
>>__utmz=144473122.1459345103.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);
>> __utmv=144473122.|1=AB%20Test=new-home-v1=1
>> X-Served-By: cache-lhr6334-LHR
>>
>
>Ew. Borked server. 302 may be old but there are situations (this being
>one) where it actually is appropriate to respond with a temporary
>status.
>
>It also seems to contain an amateur attempt at cache-optimization by
>someone who does not understand what middleware does.
>
>
>You could technically force this to cache. But its not worth it. Let
>the
>site admin who made that yucky response deal with the 2x latency cost
>they created. Better to Store-ID cache the thing its Location header is
>pointing to.
>
>
>> 200 Header: Why ATS is not caching octet stream despite having CONFIG
>> proxy.config.http.cache.required_headers INT 1
>
>Squid is not ATS. The 301 response above is CC:private so only the
>receiving browser is allowed to cache it. What was the question?
>
>> GET /9546/46cfd241f1da4ae9812f512f7b36643c/vlc-2.2.2-win64.exe
>>HTTP/1.1
>> Host: fs37.filehippo.com
>
>What do you know about the components of that URL...
>
>* What does "9546" mean;
> - just a random number?
> - some form of customer-ID videolan have with Filehippo ?
> - some form of category ID that represents VLC software type etc?
>
>* What does the long random looking hex number mean;
> - just a random visitor session ID?
> - the hash sum for the VLC binary being fetched?
>
>... or something else?
>
>try some manual requests with different values and see what happens to
>the response. Pay particular attention to the ETag response header, its
>size, and if you want to be paranoid take the SHA1 and MD5 hashes of
>the
>response object when it looks like it should be identical.
>
>Check your logs for patterns in the URLs and test in teh same ways the
>other files you find people fetching.
>
>If that checks out then you know what your Store-ID pattern can drop
>and
>what needs to be kept.
>
>This is the hard way, and a "lot of work" as I mentioned earlier. If
>you
>want to help the community then please contribute back by putting your
>findings into the wiki Store-ID database pages so all that work does
>not
>go to waste.
>
>>
>> HTTP/1.1 200 OK
>> Accept-Ranges: bytes
>> Age: 739
>> Connection: keep-alive
>> Content-Length: 31367109
>> Content-Type: application/octet-stream
>> Date: Wed, 30 Mar 2016 13:26:43 GMT
>> ETag: "81341be3a62d11:0"
>> Last-Modified: Mon, 08 Feb 2016 06:34:21 GMT
>>
>
>Amos
>
More information about the squid-users
mailing list