[squid-users] Caching http google deb files
Heiler Bemerguy
heiler.bemerguy at cinbesa.com.br
Fri Oct 21 15:21:10 UTC 2016
Hello,
I've limited the "vary" usage and gained some hits by making these
modifications (in blue) to the http.cc code:
while (strListGetItem(&vary, ',', &item, &ilen, &pos)) {
SBuf name(item, ilen);
if (name == asterisk) {
*/** vstr.clear();
break; **/ *
* continue;*
}
name.toLower();
* if (name.cmp("accept", 6) != 0 &&**
** name.cmp("user-agent", 10) != 0)**
** continue;*
if (!vstr.isEmpty())
vstr.append(", ", 2);
--
Best Regards,
Heiler Bemerguy
Network Manager - CINBESA
55 91 98151-4894/3184-1751
Em 07/10/2016 06:26, Hardik Dangar escreveu:
> Hey Alex,
>
> I totally get that Vary code is different, I have been trying to
> understand squid code for last few days although my C, C++ skills are
> very limited I am able to understand bits and pieces here and there. I
> have also read HTTP 1.1 specs for cache (
> https://tools.ietf.org/html/rfc2616#section-13 )
>
> After doing fair bit of research I believe we need to two things,
>
> 1) start a campaign to convince webmasters to update their server
> configs, for that to happen I am doing my research on apache and
> Nginx servers on how to implement ( HTTP 1.1 spec cache guidelines )
> and will provide them copy paste configs for all requests or for the
> file types like deb,apk,rpm,exe(binary files),etc...
>
> I am documenting that here,
> https://hardikdangar.github.io/thecacheproject/
>
> and once I finish everything I will post everything at the
> squid-dev list here so all of you can look at it and if you guys
> approve it, I will personally try to contact the big providers and
> send them above page with solutions. and will ask community support
> and will publish it to twitter and other social sites to get support.
>
> 2) I want to build a module which will first handle Vary: * requests
> and convert it into Vary: Accept-Encoding or something similar but
> only for the ACL's specified by cache administrator.
>
> Next, there are use cases like GitHub which are very difficult to
> handle but I feel there is a way we can handle those use cases so I
> will build ACL for those.
>
> For this, i am trying to understand squid code, After looking at dev
> docs, I understand how the request is handled at clientBeginRequest.
> But I am very confused at how squid handles the response. I know
> client_side_reply.cc is the file where the response is handled but I
> am not sure how StoreEntry::checkCachable() method in store.cc is
> called before it as that is the method i get in squid logs when the
> cache is denied.
>
> Basically, I need to know how to debug line by line source for squid.
> Right now my method of testing involves building squid and adding
> debug lines and its very slow process as it takes time every time. Can
> you help me with this ? is there a way i could send a request directly
> to squid source file i.e debug source code line by line ? If so what
> are the tools required and how to set it up ?
>
> Again, I am sorry if i am asking too much but my C experience is very
> limited and i feel like i am asking very naive questions but these are
> very difficult for me at this stage and i really appreciate all of the
> squid dev teams who is been answering all of my questions. Thank you
> very much for that.
> --------
>
> I just want a better cache support for squid and modern day use cases.
>
> On Thu, Oct 6, 2016 at 11:25 PM, Alex Rousskov
> <rousskov at measurement-factory.com
> <mailto:rousskov at measurement-factory.com>> wrote:
>
> On 10/06/2016 11:14 AM, Linda A. Walsh wrote:
> > Alex Rousskov wrote:
> >> We can, but ignoring Vary requires more/different work than adding
> >> another refresh_pattern option. Vary is not a refresh mechanism so
> >> different code areas need to be modified to ignore (but still
> forward!)
> >> Vary.
>
>
> > I can't say for certain, but I'd give it a 75% shot of it being
> > used as a forced-refresh pattern
>
> The [ab]use cases do not matter here -- the _code_ handling Vary
> is very
> different from the code handling refresh logic. That difference is
> natural and unavoidable because the two protocol mechanisms are very
> different, even if they both can be and are used to create the
> same effect.
>
> Alex.
>
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> <mailto:squid-users at lists.squid-cache.org>
> http://lists.squid-cache.org/listinfo/squid-users
> <http://lists.squid-cache.org/listinfo/squid-users>
>
>
>
>
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/squid-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20161021/0868eeb3/attachment.html>
More information about the squid-users
mailing list