I'm using jQuery from google CDN.

I checked out the cache-control also it appears the browser should fully cache the jQuery version for any very long time.

However, if I disable Access to the internet my web pages cease working. Why? Could it be because despite the fact that jQuery is cached, the browser still must resolve DNS?

Your brower does not have to respect the cache-control header. That's mostly utilized by proxies. If you wish to check whether your browser is keeping an area copy from the script, get into offline mode (inside your browser) and check out in case your website still works.

Additionally you might like to encourage the Firebug (if you are using Opera) Internet panel to determine the precise request your browser transmits towards the server (and exactly what the fact is).

You will find a couple of layers of cache. Just since it is cached for any very long time does not mean it will not request the server and determine if it's the most recent edition.

Furthermore, offline mode inside your browser might not even make an effort to load files it determines to become non local.