When browsers make a request, they include HTTP headers for the server to decide what to send back (Is this a mobile client? Can it handle compressed content? Does it need a certain language?).
That’s great for direct access, but modern networks use intermediate caches and CDNs. And there’s the problem: how does the cache use headers to decide what to send back? How can it replicate the server’s decision-making logic?
Vary to the rescue. The Vary header describes what information “uniquely” identifies a request — caches should only be used if the incoming request matches the Vary information in the cache.
Nginx
<span class="hljs-attribute">gzip_vary</span> <span class="hljs-literal">on</span>
Analyze your site’s speed and make it faster.
GTmetrix gives you insight on how well your site loads and provides actionable recommendations on how to optimize it.
Checkbot
Checkbot can test 1,000s of pages in minutes for broken links, duplicate content, invalid HTML, insecure forms and more.