Thanks for your comments, Ilya!
On 16.07.2013, 2:19 Ilya wrote:
Re, Opera: Checked with the team, this is an oversight
on our part.
Easy to fix, we just didn't whitelist the Opera UA.
Re, non-JS handling and purging: can we discuss this a bit more? Is
the concern that the "noscript" variable adds another variant to the cache?
My concern wasn't about Opera support specifically - it's fairly
reasonable for systems designers to support some browsers and don't
support the others, my concern was that it used User-agent and did not
tell the frontend cache to vary on it - which will result in cache
pollution. And even if it did, we rely on edge cache hit rate heavily,
so varying cache on user agent would be pretty much like not caching
at all for us.
Finally, speaking of caching... Historically,
PageSpeed did the
following: grab the HTML, rewrite resource links, cache-extend the
optimized resources, mark the HTML as CC:private. The CC:private
part is what allows pagespeed to regenerate the cache-extended
resource filenames the moment they are changed. However, this means
the HTML is not cacheable, which can (will) drive a lot more traffic
to the origin servers. However, good news...
Our last week's release added support for HTML
caching + purge
functionality with upstream caches:
https://developers.google.com/speed/pagespeed/module/downstream-caching
^ allows caching of partially rewritten content, as
well as
automatic purge + caching of optimized assets. The docs have an
example for nginx and Varnish, but this should work out of the box with Squid and other
caches too.
We have recently moved away from doing a lot of device detection in
frontend caches which gave us a performance boost, would be pity to
discard this.
Anyway, I've already started working on something I noticed in
mod_pagespeed - a much better JS minification, expect updates soon:)
--
Best regards,
Max Semenik ([[User:MaxSem]])