Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何无限期地缓存HTTP响应_Javascript_Ajax_Http_Caching - Fatal编程技术网

Javascript 如何无限期地缓存HTTP响应

Javascript 如何无限期地缓存HTTP响应,javascript,ajax,http,caching,Javascript,Ajax,Http,Caching,如何发送任何客户端都将永久缓存(或直到其缓存被清除)的HTTP响应,以便当浏览器需要该资源时,它不会发出HTTP请求,而是从本地文件系统检索HTTP响应 用法说明:这适用于Ajax应用程序中的版本化客户端代码。所有内容都是通过不可缓存的example.com/front.htm访问的,它只包含一个链接到example.com/currentversion/bootstrap.js的脚本标记,该标记无限期缓存。因为不可缓存的HTML文件决定了当前版本,所以客户端不需要更新脚本。缓存到2038年。你

如何发送任何客户端都将永久缓存(或直到其缓存被清除)的HTTP响应,以便当浏览器需要该资源时,它不会发出HTTP请求,而是从本地文件系统检索HTTP响应


用法说明:这适用于Ajax应用程序中的版本化客户端代码。所有内容都是通过不可缓存的example.com/front.htm访问的,它只包含一个链接到example.com/currentversion/bootstrap.js的脚本标记,该标记无限期缓存。因为不可缓存的HTML文件决定了当前版本,所以客户端不需要更新脚本。

缓存到2038年。你不能走得更远了(可靠地),因为。使用此标题:

Expires: Sun, 17 Jan 2038 19:14:07 GMT

缓存到2038年。你不能走得更远了(可靠地),因为。使用此标题:

Expires: Sun, 17 Jan 2038 19:14:07 GMT
根据RFC,“为了将响应标记为‘永不过期’,源服务器将在发送响应后大约一年内发送过期日期。HTTP/1.1服务器在未来发送过期日期不应超过一年。”

我不知道一年限制背后的原因是什么,所以就这样吧。

根据RFC,“为了将响应标记为‘永不过期’,源服务器从发送响应时起大约一年后发送过期日期。HTTP/1.1服务器在未来发送过期日期不应超过一年。”


我不知道一年限制背后的原因是什么,所以就照它说的做吧。

我认为资源会自动缓存,除非您将nocache php头添加到响应中。关于.js文件,这是一样的,它们是自动缓存的,您必须更改名称才能再次下载它们。我认为资源是自动缓存的,除非您在响应中添加nocache php头。关于.js文件,这是一样的,它们是自动缓存的,您必须更改名称才能再次下载它们。