http 304

304 not modified

意义是:Not Modified 客户端有缓冲的文档并发出了一个前提性的要求(平常是供应If-Modified-Since头示意客户只想比指定日期更新的文档)。效劳器通知客户,本来缓冲的文档还能够继承运用。

缓存机制 不是毛病提醒

HTTP/1.1 304 Not Modified不是效劳器发出的毛病提醒。而是效劳器所承载的营业体系在开辟时为了节约链路带宽和提拔浏览器的体验对GET/js、css、image等执行了缓存机制。

HTTP/1.1 304 Not Modified不是效劳器发出的毛病提醒。而是效劳器所承载的营业体系在开辟时为了节约链路带宽和提拔浏览器的体验对GET/js、css、image等执行了缓存机制。客户端在第一次对效劳器营业发出GET要求后,客户端浏览器缓存了该页面,当客户端第二次对效劳器发出一样的GET要求时,若客户端缓存中的If-Modified-Since逾期,客户端将向效劳器发出GET要求,考证If-Modified-Since和If-None-Match是不是与WEB-server中信息一致,假如GET页面未做任何修正,效劳器对客户端返回HTTP/1.1 304 Not Modified,客户端则直接从当地缓存中将页面调取

第一次要求 :

道理:客户端发送要求-》当地无缓存-》向效劳发送要求-》返回静态资本,而且缓存到当地
这个是乐视网首页第一次要求时的截包,会发明静态资本的返回都是200

《http 304》

第二次要求:

  1. 再此次要求中,http要求头部包含了If-Modified-Since,If-None-Match这两个参数与效劳器做对照。假如雷同,则猎取当地的缓存信息,反之效劳器返回新的资本。而且Last-Modified,ETag数据重置。
  2. 效劳器静态资本修正了,response返回的Last-Modified,ETag也会修正

《http 304》

  • 这个是乐视网首页第二次要求时的截包,会发明静态资本的返回基础都是304

《http 304》
]

在做http要求剖析之前,一定要相识这个参数 requset要求

(1)If-Modified-Since:发送要求时与效劳器
(2)If-None-Match:

response返回

(1)Last-Modified:资本被修正的末了时候
(2)ETag:对资本的索引节(INode),大小(Size)和末了修正时候(MTime)举行Hash后获得的,是资本的唯一标识

特别注意:

(1)该两项参数将存储在客户端的浏览器cache中,Last-Modified值存储为 If-Modified-Since,ETag值存储为If-None-Match.

(2)ETag的优先级高于Last-Modified.

    原文作者:葛小友
    原文地址: https://segmentfault.com/a/1190000019095108
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞