I believe that the ideal way to build responsive web pages and web-based applications is 'offline first'. This approach means that websites and applications will continue to work and load, even without an Internet connection.
HTML5 offline web applications (http://www.w3.org/TR/2011/WD-html5-20110525/offline.html) were specified to meet this aim.
Although support for offline web applications is good (http://caniuse.com/#feat=offline-apps), sadly, it's an imperfect solution. Although it's relatively simple to set up, there are a number of limitations and pitfalls. Documenting them all here is beyond the scope of this book. Instead I would recommend reading the humorous and thorough post by Jake Archibald on the subject at http://alistapart.com/article/application-cache-is-a-douchebag.
I'm therefore of the opinion that while it's possible to achieve offline first experiences using offline web applications (a good tutorial of how to do so is at http://diveintohtml5.info/offline.html) and LocalStorage (or some combination of the two), a better solution will be with us before too long. I'm pinning my hopes on 'Service Workers' (http://www.w3.org/TR/service-workers/).
At the time of writing, Service Workers is still a relatively new specification but for a good overview I'd encourage you to watch this 15-minute introduction: https://www.youtube.com/watch?v=4uQMl7mFB6g. Read this introduction http://www.html5rocks.com/en/tutorials/service-worker/introduction/ and check for support at https://jakearchibald.github.io/isserviceworkerready/
I'm hopeful that if and when I come to write a third edition of this book, we will be able to consider a full overview and implementation of this technique. Fingers crossed.