资讯专栏INFORMATION COLUMN

http 304

Drinkey / 2579人阅读

摘要:服务器告诉客户,原来缓冲的文档还可以继续使用。缓存机制不是错误提示不是服务器发出的错误提示。而是服务器所承载的业务系统在开发时为了节省链路带宽和提升浏览器的体验对等执行了缓存机制。如果相同,则获取本地的缓存信息,反之服务器返回新的资源。

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请求头部包括了If-Modified-Since,If-None-Match这两个参数与服务器做对比。如果相同,则获取本地的缓存信息,反之服务器返回新的资源。并且Last-Modified,ETag数据重置。

服务器静态资源修改了,response返回的Last-Modified,ETag也会修改

这个是乐视网首页第二次请求时的截包,会发现静态资源的返回基本都是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://www.ucloud.cn/yun/104166.html

相关文章

  • http 304 浅析

    摘要:服务器告诉客户,原来缓冲的文档还可以继续使用。不是服务器发出的错误提示。如果相同,则获取本地的缓存信息,反之服务器返回新的资源。服务器静态资源修改了,返回的,也会修改这个是乐视网首页第二次请求时的截包,会发现静态资源的返回基本都是 http 304 好久没写了。感觉荒废了好久。刚好今天有朋友问我关于静态资源缓存问题。突然唤起我的学习兴趣了。发现好多同学对静态资源都不是很清楚。小弟我刚好...

    big_cat 评论0 收藏0
  • http 304 浅析

    摘要:服务器告诉客户,原来缓冲的文档还可以继续使用。不是服务器发出的错误提示。如果相同,则获取本地的缓存信息,反之服务器返回新的资源。服务器静态资源修改了,返回的,也会修改这个是乐视网首页第二次请求时的截包,会发现静态资源的返回基本都是 http 304 好久没写了。感觉荒废了好久。刚好今天有朋友问我关于静态资源缓存问题。突然唤起我的学习兴趣了。发现好多同学对静态资源都不是很清楚。小弟我刚好...

    CloudwiseAPM 评论0 收藏0
  • http缓存深入研究,200 from cache or 304 not modified?

    摘要:我把缓存分为缓存存储缓存对比两部分。不过是的东西,现在默认浏览器均默认使用,所以它的作用基本忽略。当资源发送改变时,也随之发生变化。关于版本号建议使用的形式而不是。 前几天看到一篇关于缓存的文章彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法,觉得很有意思,所以打算系统学习下Http缓存相关的知识。 我把缓存分为缓存存储、缓存对比两部分。 基本概念 命中缓存速度对比 200...

    binaryTree 评论0 收藏0
  • web性能优化之:no-cache与must-revalidate深入探究

    摘要:本文仅挑这两个进行值进行探究对比。注意变化了,表示源服务器资源已发生变化。从日志来看,缓存服务器访问源服务器,并返回给浏览器。缓存服务器上已有该资源副本,且该副本未过期。缓存服务器本身优化算法对实验结果的影响。 引言 稍微了解HTTP协议的前端同学,想必对Cache-Control不会感到陌生,性能优化时经常都会跟它打交道。 常见的值有有private、public、no-store、...

    alexnevsky 评论0 收藏0
  • http缓存机制总结和文章推荐

    摘要:状态码,可避免请求发送到服务器。可以通过标识文件版本名加长缓存时间的方式来减少响应。 推荐阅读:伯乐在线——HTTP 缓存机制一二三IMWeb前端博客——HTTP缓存控制小结IT笔录——http消息头 http缓存机制 关键头部字段 cache-control、 Pragma if-Match、if-None-Match if-Modified-Since、if-Unmodified...

    Acceml 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<