HTTP协议(四)缓存.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTTP协议(四)缓存

之前写过一个篇? HYPERLINK /TankXiao/archive/2012/02/13/2342672.html \t _blank 【HTTP协议详解】?,这次继续介绍HTTP协议中的缓存机制。HTTP协议提供了非常强大的缓存机制, 了解这些缓存机制,对提高网站的性能非常有帮助。 本文介绍浏览器和Web服务器之间如何处理浏览器缓存,以及控制缓存的http header. 本文会使用Fiddler来查看HTTP request和Response, 如果不熟悉这工具,可以先参考 HYPERLINK /TankXiao/archive/2012/02/06/2337728.html \t _blank [Fiddler教程]?。在看本文的时候, 请务必打开Fiddler来实践。 阅读目录  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l gainian 缓存的概念  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l haochu 缓存的好处  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l fiddlercache Fiddler可以方便地查看缓存的header  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l cacheFresh 如何判断缓存新鲜度  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l lastModify 通过最后修改时间,判断缓存新鲜度  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l header 与缓存相关的header  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l etag ETag  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l nocache 浏览器不使用缓存  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l noverify 直接使用缓存,不去服务器端验证  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l IEnocache 如何设置IE不使用缓存  HYPERLINK /TankXiao/archive/2012/11/28/2793365.html \l publicAndPrivate 公有缓存和私有缓存的区别 ? 缓存的概念 缓存这个东西真的是无处不在, 有浏览器端的缓存, 有服务器端的缓存,有代理服务器的缓存, 有ASP.NET页面缓存,对象缓存。 数据库也有缓存, 等等。 http中具有缓存功能的是浏览器缓存,以及缓存代理服务器。 ? http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中提取这个文档。 缓存的好处 缓存的好处是显而易见的, 好处有, 1. 减少了冗余的数据传输,节省了网费。 2. 减少了服务器的负担, 大大提高了网站的性能 3. 加快了客户端加载网页的速度 ? Fiddler可以方便地查看缓存的header Fiddler中把header都分门别类的放在一起,这样方便查看。 ? 如何判断缓存新鲜度 Web服务器通过2种方式来判断浏览器缓存是否是最新的。 第一种, 浏览器把缓存文件的最后修改时间通过 header ”If-Modified-Since“来告诉Web服务器。 第二种, 浏览器把缓存文件的ETag, 通过header If-None-Match, 来告诉Web服务器。 ? 通过最后修改时间, 来判断缓存新鲜度 1. 浏览器客户端想请求一个文档,? 首先检查本地缓存,发现存在这个文档的缓存,? 获取缓存中文档的最后修改时间,通过: If-Modified-Since, 发送Request给Web服务器。 2. Web服务器收到Request,将服务器的文档修改时间(Last-Modified): 跟request header 中的,If-Modified-Since相比较, 如果时间是一样的, 说明缓存还是最新的, Web服务器将发送304 Not Modified给浏览器客户端, 告诉客户端直接使用

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档