• DeepSeek
  • 开发笔记
  • 算法题
  • 前端相关

  • HTTP状态码
  • get和post的区别
  • 三次握手_四次挥手
  • HTTPS加密过程
  • 预检请求
  • HTTP 各个版本的差异

HTTP 常用状态码

1xx:临时相应(表示临时响应并需要请求者继续执行操作的状态代码)

  • 100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
  • 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
  • 102 此状态代码主要用于与Link 链接头一起使用,以允许用户代理在服务器仍在准备响应时开始预加载资源

2xx:(成功)表示成功处理了请求的状态代码

  • 200 请求成功。成功的含义取决于HTTP方法:
    GET:资源已被提取并在消息正文中传输。
    HEAD:实体标头位于消息正文中。
    POST:描述动作结果的资源在消息体中传输。
    TRACE:消息正文包含服务器收到的请求消息
  • 201 该请求已成功,并因此创建了一个新的资源。这通常是在POST请求,或是某些PUT请求之后返回的响应。
  • 202 请求已经接收到,但还未响应,没有结果。意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求,或者批处理。
  • 203 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。

3xx:重定向

  • 301:永久重定向
    被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。 如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。
  • 302:临时重定向
    请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。 只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
  • 304:未被修改
    如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变, 则服务器应当返回这个状态码。304 响应禁止包含消息体,因此始终以消息头后的第一个空行结尾

4xx(请求错误):表示请求可能出错,妨碍了服务器的处理。

  • 400 Bad Request
    1. 语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。
    2. 请求参数有误
  • 401 (Unauthorized未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应
  • 403 Forbidden(禁止) 服务器已经理解请求,但是拒绝执行它。与 401 响应不同的是,身份验证并不能提供任何帮助, 而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行, 那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个 404 响应,假如它不希望让客户端获得任何信息。
  • 404 Not Found
    服务器找不到请求的网页。
  • 405 Method Not Allowed
    请求行中指定的请求方法不能被用于请求相应的资源

5xx: 服务器错误

  • 500 Internal Server Error
    服务器遇到了不知道如何处理的情况
  • 502 Bad Gateway
    此错误响应表明服务器作为网关需要得到一个处理这个请求的响应,但是得到一个错误的响应。
  • 503 Service Unavailable 服务器没有准备好处理请求,此时服务器不可用。