HTTP 协议状态码有哪些?

72 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情

大家好,我是阿萨。通过昨天的学习,我们了解了HTTP 协议,IP协议,TCP 协议以及DNS 如何协同工作的。今天我们学习HTTP状态码。

一 , 什么是HTTP状态码?

HTTP状态码是用来表示HTTP请求的返回结果,暴击服务器的处理是否正常,通知错误的。从这里大家应该可以看出来,状态码就是告诉你服务器处理结果的。

二, 状态码类别

常见状态码有以下几种:

  1.  1XX ------信息类的状态码, 表示接受的请求正在处理。
  2. 2XX ------ 成功状态码, 表示请求正常处理。
  3. 3XX ------重定向状态码,表示需要进行附加操作以完成请求。
  4. 4XX ------客户端错误状态码,服务器无法处理请求
  5. 5XX ------服务器错误状态码,服务器处理请求出错。

接下来我们学习下常见的14 种状态码:

  • 200 OK表示服务器正常处理了客户端请求。
  • 204 No Content表示服务器正常处理了客户单请求,但是返回的响应报文里没有实体数据。
  • 206 Partial Content客户端发送了范围请求,服务器成功执行了这部分请求,报文中包含Content-Range 指定范围的实体内容。
  • 301 Moved Permanently 永久性重定向表示请求的资源被分配了新的URI,以后使用新URI。
  • 302 Found 临时性重定向。表示请求的资源被分配了新的URI,希望使用新的URI 访问。
  • 303 See Other请求对应的资源存在这另一个URI,应使用 GET 方法定向获取请求的资源。
  • 304 Not Modified客户端发送附带条件的请求时,服务器允许访问,但因为条件不满足,直接返回304.
  • 307 Temporary Redirect临时重定向 和302 类似。302 会讲POST 变成GET。307 不会把POST 变成GET。
  • 400 Bad Request表示请求报文中存在语法错误。
  • 401 Unauthorized表示请求需要HTTP 认证,但是目前没有认证,或者是认证过期或者失效
  • 403 Forbidden表示请求资源被服务器拒绝
  • 404 Not Found服务器无相应资源。
  • 500  Internal Server Error服务器执行请求时发生错误。
  • 503 Service UUnavailable服务器暂时超负载或者进行停机维修。

状态码和实际状况不一致的情况经常发生,比如请求后台资源404 了,页面就显示404 界面,但是状态码还是200.  这个就不合理,大家日常测试时多关注。

你学会了吗?