php 304,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

bVbshCB?w=800&h=345

第二次请求:

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

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

bVbshDA?w=800&h=669

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

bVbshDB?w=800&h=336

]

在做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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值