Reputation: 1785
I'm newer to XMLHttpRequests since I've previously used jQuery's AjAX method. However I need to work in a web worker and now I have to use the classic XMLHttpRequest for performance issues.
I'm trying to rebuild the cache
-property from jquery. If cache should be disabled I add this:
xhr.setRequestHeader("Cache-Control", "no-cache");
But what header should I set if I want to force caching (not prevent)?
Upvotes: 11
Views: 23817
Reputation: 7277
Please check Caching static assets
Cache-Control: public, max-age=604800, immutable
Upvotes: 0
Reputation: 9958
You can specify max-stale
without an argument, in Cache-Control
header of your request. From RFC 7234:
The
max-stale
request directive indicates that the client is willing to accept a response that has exceeded its freshness lifetime. Ifmax-stale
is assigned a value, then the client is willing to accept a response that has exceeded its freshness lifetime by no more than the specified number of seconds. If no value is assigned tomax-stale
, then the client is willing to accept a stale response of any age.
Upvotes: 7
Reputation: 944321
There are a variety of headers you can set to encourage caching, but they (including Cache-Control
which you are using incorrectly) are response headers that must be sent by the server and not request headers.
One such example of using Cache-Control:
Cache-Control: max-age=3600
This Caching Tutorial for Web Authors and Webmasters covers them in more depth.
Upvotes: 5