永发信息网

请问日志返回200跟304有什么区别

答案:3  悬赏:20  手机版
解决时间 2021-03-31 06:25
  • 提问者网友:听门外雪花风
  • 2021-03-30 08:55
请问日志返回200跟304有什么区别
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-03-30 10:29
200 代表用户成功的获取到了所请求的文件,如果是搜索引擎,则证明蜘蛛在这次爬行中顺利的发现了一些新的内容。
  302 则是暂时性重定向,如果你的网站日志中有过多的302代码,那么你需要注意了,是不是把301做错了做成了302?赶紧修改,搜索引擎不喜欢302重定向。304 如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节省带宽和开销。
全部回答
  • 1楼网友:酒醒三更
  • 2021-03-30 10:57
200 代表用户成功的获取到了所请求的文件,如果是搜索引擎,则证明蜘蛛在这次爬行中顺利的发现了一些新的内容。302 则是暂时性重定向,如果你的网站日志中有过多的302代码,那么你需要注意了,是不是把301做错了做成了302?赶紧修改,搜索引擎不喜欢302重定向。304 如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节省带宽和开销。
  • 2楼网友:爱难随人意
  • 2021-03-30 10:35
304 的标准解释是: Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。 如 果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。 因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。 当这些缓存有效的时候,通过 HttpWatch 查看一个请求会得到这样的结果: 第一次访问 200 鼠标点击二次访问 (Cache) 按F5刷新 304 按Ctrl+F5强制刷新 200
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯