HTTP协议中的常用状态码

228 阅读3分钟

一、设置状态码的意义

HTTP协议是在web浏览器和服务器之间进行传递信息的协议,HTTP协议中设置状态码的意义在于,服务器端通过状态码来高速浏览器端,当前的网页请求发生了什么以及当前WEB服务器的相应状态,HTTP状态码可以用来判断当前服务器端的的运行状况以及浏览器端网页的请求情况。


二、常用的HTTP状态码分类

  1. 1XX (服务器端接收请求,正在处理)
  • 场景介绍:假如浏览器端想给服务器发送一个较大的文件,如果服务器端给浏览器端返回的是1XX的状态码,则表示服务器端已经接收到了请求,正在处理。
  1. 2XX(请求成功)
  • 场景介绍:服务器端接收到了请求,并进行了处理。
  1. 3XX(重定向状态码)
  • 场景介绍:这个状态码表示服务器端认为浏览器端需要采取进一步的操作才能完成请求,重定向的目标在本次响应的Location域中。
  1. 4XX(浏览器端/客户端错误)
  • 场景介绍:这类状态码代表着浏览器端可能发生了错误,妨碍了服务器的处理。
  1. 5XX(服务器端错误)
  • 场景介绍:这类状态码表示服务器在处理请求的时候出现了错误,或者异常。

三、常见状态码含义

  • 100:这是一个临时响应,表示服务器端已经接受部分请求,客户端应该继续发送请求的剩余部分。
  • 200:服务器端已经成功收到并处理了请求。
  • 204:服务器端成功处理,但是并未返回内容
  • 301:永久重定向,请求的资源已经被永久的移动到了新的URL,返回的信息会包括新的URL,浏览器会自动定向到新的URL。
  • 302:临时重定向,请求的资源临时的被移动到了新的URL,客户端应继续使用原有的URL。
  • 304:这是客户端有缓存情况下服务端的一种响应,客户端在请求一个文件的时候发现有缓存,那么请求中就会包含这个缓存文件的时间,服务器端收到请求之后会和本地文件进行对比,没有更新的话就返回状态码304,客户端收到响应后就会从本地缓存中加载这个资源。
  • 400:客户端的错误,服务器不理解请求的语法。
  • 403:服务器端拒绝执行客户端的请求。
  • 404:客户端请求的资源不存在。
  • 500:服务器内部的错误,使得服务器无法完成请求。
  • 502:服务器作为网关或代理,从上游服务器收到无效响应。

Ajax状态码

ajax 状态码及其对应的信息如下:

  0----请求未初始化(说明连open()都还没有调用,是时候调用这个方法创建一个Http请求了)

  1----请求已建立,但还没有发送(说明创建了http请求,但send()没有调用)

  2----请求已经发送(接下来就等响应了)

  3----请求正在处理,通常响应已经有部分数据可以用了,但还没处理完

  4----响应已经完成,可以正常获取并使用服务器响应了

参考文献

http与https,http状态码详细列表

HTTP面试-常用状态码(status code)的那些事

HTTP 中常用的状态码(14种)