gpt4 book ai didi

javascript - 在 Javascript Vanilla 中缓存 GET 响应

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:40 25 4
gpt4 key购买 nike

我注意到 Firefox 不会自动缓存 GET 请求。按照我使用的代码:

var ajax = new XMLHttpRequest();
ajax.open("GET","page.php?val=" + val,true);
ajax.send();

使用 jquery 可以提供 cache: true;,我如何使用 Vanilla Javascript(客户端)保存在缓存中?也可以决定多长时间?你能给我一个代码示例吗?提前致谢!

最佳答案

Web 缓存主要由服务器发送的 header (Expires: 等)控制。浏览器有时会“欺骗”并且不会真正缓存,即使 header 允许它们......可能是因为用户使用他们的 UI 关闭缓存,例如通过将缓存大小设置为零。但是“欺骗”另一个方向的浏览器,即使标题不允许它仍然缓存,(有充分的理由)非常罕见。

如果您没有进行缓存,那是文件和服务器(或者可能是浏览器配置)的功能,而不是任何浏览器类型或版本的功能。 (换句话说,如果服务器发送了所需的 header ,您的 Firefox 会缓存得很好。) header 由不同的服务器和不同的提供商以多种方式控制。对于 Apache 服务器,细节可能在“.htaccess”文件中,通常可以使用预先编写的模板。

对于第一个近似值,使用 HTML4,您根本无法从客户端控制 Web 缓存,无论您使用什么工具,无论您的程序做什么。 HTML5 中新的“在线应用程序缓存”或“appcache”提供了一个通用异常(exception)......但还有其他限制,例如关于“每个站点一个”和“同源”的限制。

关于javascript - 在 Javascript Vanilla 中缓存 GET 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com