Whenever a user accesses a website, the browser caches static files such as HTML, javascript, images, etc. If each file individually doesn't set an expiration, then the file is stored in the local browser cache with no expiration date. Note that there is no way (in the file itself) to set the expiration for image and javascript files.
Each subsequent time the user accesses the same website, the browser, before it requests a file, determines if it is already in the local browser cache. If the expiration date for the cached file has not expired, it just uses the file out of cache.
However, if the expiration has expired (or the expiration is not set), the browser will query the website to determine if the file has a newer date than what it has cached. In the AJAX PVE/ImageSilo world, there are over 100 files that are cached to the local browser (when first hitting the Login page), all of which have no expiration date. Most of those files are images, CSS files, or javascript files.