Documentation on AppEngine's caching reverse proxy

818 views
Skip to first unread message

saidimu apale

unread,
Dec 16, 2010, 11:25:30 PM12/16/10
to google-a...@googlegroups.com
Given the numerous issues (in the issue tracker, GAE mailing-lists and in speculative blog posts in the wild) surrounding cache headers and the GAE reverse proxy, is there definitive documentation on how it handles headers and best-practice interactions?

It is surprising that such an important part of the request-response cycles is rather opaque.

saidimu

Matt H

unread,
Dec 17, 2010, 12:28:38 PM12/17/10
to google-a...@googlegroups.com
This would be nice to have.

Ikai Lan (Google)

unread,
Dec 17, 2010, 12:31:43 PM12/17/10
to Google App Engine
App Engine's edge cache is not guaranteed. It's "best effort" caching, caching that any ISP downstream could also have implemented.

What you'd do is set the cache-control headers to "public" and set a max-age, and App Engine's edge caches may cache your content. There's also no way to flush your content, but the cache is key off the URL, so use a cache buster.

--
Ikai Lan 
Developer Programs Engineer, Google App Engine



On Fri, Dec 17, 2010 at 9:28 AM, Matt H <matt...@gmail.com> wrote:
This would be nice to have.

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.

Mike

unread,
Dec 17, 2010, 2:17:56 PM12/17/10
to Google App Engine
The biggest undocumented features of the edge cache we've had to deal
with is that it does not honor the Vary header, and that it is turned
on when you enable billing for an app.

I agree, however, that regardless of what details are posted in this
group, the edge cache behavior should be documented in the official
docs.

-Mike

-=-

On Dec 17, 9:31 am, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

风笑雪

unread,
Dec 17, 2010, 9:59:43 PM12/17/10
to google-a...@googlegroups.com
Actually, the cache will be refresh after re-deploy.

But I suggest not to set too long max-age for dynamic pages.

Also be noticed that the edge cache is only available for Google Apps domains, no affect on appspot.com.

----------
keakon

My blog(Chinese): www.keakon.net

Stephen

unread,
Dec 18, 2010, 5:30:06 PM12/18/10
to google-a...@googlegroups.com
> ... your content, but the cache is key off the URL ...

This is a bug. You should be keying off the URL and the Vary header, or not caching responses with Vary headers:

  http://code.google.com/p/googleappengine/issues/detail?id=4277

This was reported two months ago :-(

Stephen

unread,
Dec 18, 2010, 5:38:12 PM12/18/10
to google-a...@googlegroups.com
If you haven't already, star this:

  http://code.google.com/p/googleappengine/issues/detail?id=2258


If folks discover new attributes of the cache, by experiment, perhaps they could be added there to collect them in one place.

saidimu apale

unread,
Dec 18, 2010, 9:04:08 PM12/18/10
to google-a...@googlegroups.com
If folks discover new attributes of the cache, by experiment, perhaps they could be added there to collect them in one place.

Official docs would go a long way in calming the unease of "what other critical attributes haven't been discovered experimentally?" It appears these docs aren't on the agenda at all so I guess it's all experimental for now.

+1 for your idea of collecting them in one place.

saidimu

Reply all
Reply to author
Forward
0 new messages