广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    HTTP缓存是如何实现

    2018-04-16 10:57:12 次阅读 稿源:互联网
    零七广告

    浏览器是如何知道使用缓存的,其实这都是通过http中,浏览器将最后修改时间发送请求给web服务器,web服务器收到请求后跟服务器上的文档最后修改的时间对比,如果web服务器上最新文档修改时间小于或者等于浏览器发送过来的,则发送304给浏览器,使用缓存版本。

    缓存的概念

    缓存这个东西真的是无处不在, 有浏览器端的缓存, 有服务器端的缓存,有代理服务器的缓存, 有ASP.NET页面缓存,对象缓存。 数据库也有缓存, 等等。

    http中具有缓存功能的是浏览器缓存,以及缓存代理服务器。

     

    http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中提取这个文档。

    缓存的好处

    缓存的好处是显而易见的, 好处有,

    1. 减少了冗余的数据传输,节省了网费。

    2. 减少了服务器的负担, 大大提高了网站的性能

    3. 加快了客户端加载网页的速度

     

    Fiddler可以方便地查看缓存的header

    Fiddler中把header都分门别类的放在一起,这样方便查看。

    HTTP缓存是如何实现

     

    如何判断缓存新鲜度

    Web服务器通过2种方式来判断浏览器缓存是否是最新的。

    第一种, 浏览器把缓存文件的最后修改时间通过 header ”If-Modified-Since“来告诉Web服务器。

    第二种, 浏览器把缓存文件的ETag, 通过header "If-None-Match", 来告诉Web服务器。

     

    通过最后修改时间, 来判断缓存新鲜度

    1. 浏览器客户端想请求一个文档,

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告