美文网首页
【http】状态码

【http】状态码

作者: 前端菜篮子 | 来源:发表于2020-06-03 08:54 被阅读0次

详见:可能是最详细的HTTP状态码介绍

  • 2XX :成功

  • 3XX:重定向

  • 4XX:客户端错误

  • 5XX:服务器错误

  • 1XX: 请求处理中

常见状态码

状态码 描述 实例场景
101 Switching Protocols 客户端申请websocket连接时,会先发出一个http请求,请求头部声明Connection:Upgrade Upgrade:websocket,然后服务器响应状态码为101,表示切换协议,接下来就可以以websocket协议通讯了。
200 OK 最常见的状态码,表示成功响应,返回数据。
206 Partial Content 当文件下载到一半后申请续传,会在请求头中的Range标记需要哪部分的数据,针对这种请求,会返回206和范围数据。
301 Moved Permanently 更换服务器域名时,一般不会立刻关停旧服务器域名,用户试图访问旧域名时,返回301,并且响应头中Location字段说明新的地址,然后浏览器自动跳转到新的地址。
304 Not Modified 客户端通过在请求头上声明If-Modified-Since字段校验缓存是否有效,如资源在此日期后并未改动,则返回304表示资源在此日期后没有更新过
400 Bad Request 当服务器要求必须有一些url参数时,但请求没有带上或者参数名写错了,会返回400
403 Forbidden 当浏览器通过js提交跨域的复杂请求时,会先发送一个OPTION请求,如果服务器检测不允许其跨域请求,则返回403
404 Not Found 找不到请求资源,可能是url写错了
500 Internal Server Error 服务器报错导致返回500

HTTP缓存:协商缓存304与强制缓存200 from cache

深入理解HTTP Cache

image.png

from memory cachefrom disk cache

image.png

随便打开一个网页后在浏览器开发者工具的Network栏发现的细节。

A、浏览器Network的Size: 3种情况

  • from memory cache
  • from disk cache
  • 资源本身大小(比如:13.6K)

B、三级缓存原理

  • 1 先查找内存,如果内存中存在,从内存中加载;
  • 2 如果内存中未查找到,选择硬盘获取,如果硬盘中有,从硬盘中加载;
  • 3 如果硬盘中未查找到,那就进行网络请求;
  • 4 加载到的资源缓存到硬盘和内存;

C、HTTP状态码及区别
200 form memory cache
不访问服务器,一般已经加载过该资源且缓存在了内存当中,直接从内存中读取缓存。浏览器关闭后,数据将不存在(资源被释放掉了),再次打开相同的页面时,不会出现from memory cache

200 from disk cache
不访问服务器,已经在之前的某个时间加载过该资源,直接从硬盘中读取缓存,关闭浏览器后,数据依然存在,此资源不会随着该页面的关闭而释放掉下次打开仍然会是from disk cache

304 Not Modified
访问服务器,发现数据没有更新,服务器返回此状态码。然后从缓存中读取数据。

浏览器是根据什么决定「from disk cache」与「from memory cache」?贴下某个回答

  • 第一个现象(以图片为例):
    访问-> 200 -> 退出浏览器再进来-> 200(from disk cache) -> 刷新 -> 200(from memory cache)
    总结: 会不会是chrome很聪明的判断既然已经从disk拿来了, 第二次就内存拿吧 快。
  • 第二个现象(以图片为例):
    只要图片是base64 我看都是from memroy cache。
    总结: 解析渲染图片这么费劲的事情,还是做一次然后放到内存吧。 用的时候直接拿
  • 第三个现象(以js css为例):
    个人在做静态测试的发现,大型的js css文件都是直接disk cache
    总结:chrome会不会说 我擦 你这么大 太JB占地方了。 你就去硬盘里呆着吧。 慢就慢点吧。
  • 第四个现象:隐私模式下
    几乎都是 from memroy cache.
    总结: 隐私模式 是吧。 我不能暴露你东西。还是放到内存吧。 你关,我死。

相关文章

  • http状态码

    本篇关于http状态码 目录 http状态码分类 HTTP状态码列表 备注 http状态码分类 HTTP状态码列表 备注

  • http状态码书目录

    http状态码之100 http状态码之101 http状态码之102 http状态码之200 http状态码之2...

  • HTTP状态码大全

    HTTP状态码大全 HTTP 状态码 HTTP Status Code HTTP状态码大全[#http%E7%8A...

  • HTTP状态码

    HTTP状态码分类 HTTP状态码列表

  • HTTP协议的状态消息

    HTTP状态码分类: 常见HTTP状态码:

  • 说说HTTP状态码

    引用 记得被 404 支配的恐惧么?引用 HTTP状态码引用 说说HTTP状态码 概述 HTTP状态码(HTTP ...

  • HTTP状态码

    100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当...

  • HTTP状态码

    作为开发人员,经常和服务端进行数据交互,必然涉及到网络请求,对于HTTP状态码的熟悉也是必要的。下面就针对HTTP...

  • Http状态码

    http的状态码有很多不常见的,而我们能碰到的也就只有这么几个,经常还是很容易忘记的 . 为了以免以后碰到服务器返...

  • HTTP状态码

    100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...

网友评论

      本文标题:【http】状态码

      本文链接:https://www.haomeiwen.com/subject/ymxvzhtx.html