if there is anything remotely dynamic in your app go with option 2.
i've mainland proxied and cached the hell out of everything i can, warm the caches daily, but once the user starts interacting (eg search) then hitting our servers really bites randomly. usually not so bad for honkers server, but even that route can randomly drop off the face of the planet.