Search code examples
javascriptajaxcachingxmlhttprequest

XMLHttpRequest: How to force caching?


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)?


Solution

  • 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.