http状态吗200和304的区别

状态码200:请求已成功,请求所希望的响应头或数据体将随此响应返回,即返回的数据为全量的数据,如果文件不通过GZIP压缩的话,文件是多大,则要有多大传输量,出现此状态码是表示正常状态。

状态码304:如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。客户端和服务器端只需要传输很少的数据量来做文件的校验,如果文件没有修改过,则不需要返回全量的数据。
该响应必须包含以下的头信息:
Date,除非这个服务器没有时钟。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将 Date 字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存机制将会正常工作。
ETag 和/或 Content-Location,假如同样的请求本应返回200响应。
Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。

举例说明:
在一般情况下,浏览器在发请求前,缓存了某个文件,就先把自己缓存的文件信息放在请求头里,向服务器发起get请求
服务器收到请求后,在给浏览器发送响应前,对比一下这个文件信息,发现浏览器缓存的文件就是它,于是决定不发送整个文件内容,直接告诉浏览器 304 。
浏览器接收到 304 时,就知道原来我缓存的就是跟服务器端一样的文件,于是就直接拿本地缓存来用了。
如果服务器发现浏览器的缓存文件信息已经是旧的了,服务器就直接正常的发送文件内容,浏览器正常的接收文件内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

京城徐董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值