gpt4 book ai didi

asp.net-mvc - 什么是浏览器缓存?它从网页数据中存储什么?

转载 作者:行者123 更新时间:2023-12-02 06:32:17 25 4
gpt4 key购买 nike

每当我遇到网站问题时,我听到的第一个建议就是“尝试清除浏览器缓存”以及“并删除您的 cookie”。那么这个浏览器缓存是什么?它存储什么,有什么用?

我用谷歌搜索过。但没有找到正确的答案。如果有人对此提供帮助,我将不胜感激。

最佳答案

浏览器缓存从 Internet 下载的数据的“缓存”(如保存本地副本)。下次您的浏览器需要相同的数据时,它可以从缓存中获取(快速),而不是通过互联网下载(慢)

问题是数据可能会过时。例如,假设浏览器今天缓存了 www.nytimes.com,24 小时后您再次访问了 www.nytimes.com。如果浏览器加载了缓存数据,那将是旧新闻。

所以有headers (元数据)服务器发送给浏览器的信息,告诉浏览器应该缓存多长时间(如果有的话)。

浏览器一般缓存的数据是“请求”。换句话说,如果您的浏览器第一次请求“http://foo.com/bar.html”,浏览器将“请求”“foo.com”向其发送“bar.html”。如果来自“foo.com”的 header 以某种方式设置,浏览器将保存“bar.html”的本地副本。如果您再次请求相同的东西,浏览器可能会从它的缓存中加载“bar.html”。我说“可能”是因为它取决于从服务器发送的 header 。服务器可以说多长时间(比如 10 分钟、10 小时、10 天等)或者它可以说“根本不缓存这个,总是下载最新版本”。

如果您转到浏览器的开发工具(如下所示的 chrome)并查看网络选项卡(不确定它在其他浏览器中的名称)。再次加载页面,你可以看到所有的请求。您还会注意到哪些是从缓存中加载的

network tab

如果你点击一个请求,你可以看到来自浏览器(请求头)和服务器(响应头)的元数据

jquery headers

清除缓存通常可以解决问题的原因是,如果出于某种原因,服务器(错误?)表示可以缓存或使用缓存版本,但服务器上的数据实际上已经更新。浏览器按照服务器的指示使用缓存中的副本,而不是实际需要的更新版本。浏览器本身也可能不时出现与缓存相关的错误。

当一切正常工作时,这很好,但如果某件事或另一件事配置错误或发送了错误的 header ,那么浏览器最终可能会从缓存中加载旧数据,而不是下载最新数据。清除缓存会有效地强制浏览器再次下载数据。

您可以找到 what the various headers do here 的详细信息.

关于asp.net-mvc - 什么是浏览器缓存?它从网页数据中存储什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262843/

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