Web developers are always finding new ways to speed up the experience for website visitors. There is one not-so-new way to add to the performance that is not quite used to its extent and that’s the Cache-control.
Pragma, the HTTP/1.0 Implementation
The throwback to the days of HTTP/1.0 that was used was the Pragma directive. Though it is no longer recommended, I have included it here for nostalgic purposes.
<meta http-equiv="pragma" content="no-cache">
If that is no longer recommended and even fails on various HTML validators, what is the correct way to do this?
Cache-Control, the HTTP/1.1 Implementation
With HTML5 and HTTP/1.1, it is recommended that one used the cache-control implementations. With just a couple of changes, you are on your way to properly getting web browsers to cache your web pages.
This is the HTTP/1.1 implementation with cache-control.
<meta http-equiv="Cache-control" content="public"> <meta http-equiv="Cache-control" content="private"> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache-control" content="no-store">
What Else is There to Cache-Control?
As you can see from above, the Cache-control uses meta tags. But like most meta tags, they support more than a single value for any directive and the Cache-control is no exception.
In this case, the allowed values are:
Public: This states that the content may be cached in public shared caches.
Private: This one hints that the content may only be cached in a private cache.
no-Cache: This value hints that the content may not be cached.
no-Store: Used to tell the caches that the content may be cached but not archived.
There you have it. You should now be equipped enough to effectively use the HTTP headers for Cache-control.