Status Code: 304 Not Modified和etag表示什么

44 篇文章 0 订阅

304 Not Modified是什么:

304 Not Modified不是服务器发出的错误,而是一种缓存机制
示例:

在这里插入图片描述

它的作用是什么?
它是服务器所承载的业务系统在开发时为了节省带宽和提升浏览器的体验

它对GET/js,css,image等执行了缓存机制。
客户端第一次对服务器发出GET请求,客户端浏览器缓存了该页面,
当客户端第二次对服务器发出同样的GET请求时,若客户端缓存中的标识过期,
客户端将向服务器发出GET请求,验证标识是否与web server中信息一致,
如果Get页面未做任何修改,服务器就是对客户端返回304 Not Modified,客户端直接 从本地缓存中将页面资源调取。

ETag是什么?

HTTP1.1中才加入的一个属性,它用来帮助服务器控制Web端的缓存验证。
它的作用是什么?

它的原理是这样的:
当浏览器请求服务器的某项资源(A)时, 服务器根据A算出一哈希值 (W/"28Ct+64YKTOA0jPTC7rzBS6GiLQRs")并通过 ETag 返回给浏览器,然后浏览器把

etag:W/"28Ct+64YKTOA0jPTC7rzBS6GiLQRs"A同时缓存在本地 当下次再次向服务器请求A时,会通过类似 If-None-Match: W/"28-Ct+64YKTOA0jPTC7rzBS6GiLQRs" 的请求头把ETag发送给服务器,服务器再次计算A的哈希值并和浏览器返回的值做比较,如果发现A发生了变化就把A返回给浏览器(200),如果发现A没有变化就给浏览器返回一个304未修改。这样通过控制浏览器端的缓存,可以节省服务器的带宽,因为服务器不需要每次都把全量数据返回给客户端。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值