<div dir="ltr">Hey Alex,<div><br></div><div>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 ( <a href="https://tools.ietf.org/html/rfc2616#section-13">https://tools.ietf.org/html/rfc2616#section-13</a> )</div><div><br></div><div>After doing fair bit of research I believe we need to two things, </div><div><br></div><div>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...</div><div><br></div><div>I am documenting that here,</div><div><a href="https://hardikdangar.github.io/thecacheproject/">https://hardikdangar.github.io/thecacheproject/</a><br></div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 ?</div><div><br></div><div>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.</div><div>--------</div><div><br></div><div>I just want a better cache support for squid and modern day use cases.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 6, 2016 at 11:25 PM, Alex Rousskov <span dir="ltr"><<a href="mailto:rousskov@measurement-factory.com" target="_blank">rousskov@measurement-factory.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 10/06/2016 11:14 AM, Linda A. Walsh wrote:<br>
> Alex Rousskov wrote:<br>
>> We can, but ignoring Vary requires more/different work than adding<br>
>> another refresh_pattern option. Vary is not a refresh mechanism so<br>
>> different code areas need to be modified to ignore (but still forward!)<br>
>> Vary.<br>
<br>
<br>
</span><span class="">>    I can't say for certain, but I'd give it a 75% shot of it being<br>
> used as a forced-refresh pattern<br>
<br>
</span>The [ab]use cases do not matter here -- the _code_ handling Vary is very<br>
different from the code handling refresh logic. That difference is<br>
natural and unavoidable because the two protocol mechanisms are very<br>
different, even if they both can be and are used to create the same effect.<br>
<span class="HOEnZb"><font color="#888888"><br>
Alex.<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
squid-users mailing list<br>
<a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.<wbr>org</a><br>
<a href="http://lists.squid-cache.org/listinfo/squid-users" rel="noreferrer" target="_blank">http://lists.squid-cache.org/<wbr>listinfo/squid-users</a><br>
</div></div></blockquote></div><br></div>