Asl*_*fry 2 asp.net-mvc caching
每当我遇到网站问题时,我会听到的第一个建议是"尝试清除浏览器缓存"以及"删除Cookie".那么这个浏览器缓存是什么?它存储什么,它有什么用?
我用Google搜索了.但是没有找到合适的答案.如果有人帮忙的话我很感激.
浏览器缓存"缓存"(如保留本地副本)从Internet下载的数据.下次您的浏览器需要相同的数据时,它可以从缓存中获取(快速)而不是通过互联网下载(慢)
问题是数据可能很旧.例如,想象一下今天浏览器缓存了www.nytimes.com,24小时后你再次访问了www.nytimes.com.如果浏览器加载了缓存数据,那将是旧闻.
因此,服务器向浏览器发送标题(元数据),告诉他们应该缓存一些内容(如果有的话).
浏览器通常缓存的数据是"请求".换句话说,如果您的浏览器首次要求" http://foo.com/bar.html "浏览器"请求""foo.com"将其发送到"bar.html".如果"foo.com"的标题以某种方式设置,浏览器将保存"bar.html"的本地副本.如果您再次请求相同的内容,浏览器可能会从其缓存中加载"bar.html".我说"可能",因为它取决于从服务器发送的标头.服务器可以说多长时间(比如10分钟,10小时,10天等等)或者它可以说"根本不缓存这个,总是下载最新版本".
如果您使用浏览器的开发工具(如下所示的chrome)并查看网络选项卡(不确定在其他浏览器中调用它).再次加载页面,您可以看到所有请求.您还会注意到哪些是从缓存中加载的
如果单击某个请求,您可以从浏览器(请求标头)和服务器(响应标头)中看到元数据
清除缓存的原因经常修复的问题是,如果由于某种原因服务器(一个错误?)说可以缓存或使用缓存版本,但服务器上的数据实际上已经更新.浏览器执行服务器告诉它要做的事情,就是使用缓存中的副本,而不是实际需要的新版本.浏览器本身也可能不时出现与缓存相关的错误.
当一切正常工作时,这很好,但如果一件事或另一件事错误配置或发送错误的标题,那么浏览器最终可能会从缓存中加载旧数据而不是下载最新数据.有效清除缓存会强制浏览器再次下载数据.
归档时间: |
|
查看次数: |
475 次 |
最近记录: |