http的方法字段和状态码

本文只是用于个人查阅的

HTTP(超文本传输协议)的方法字段是一种用来指示客户端希望对服务器上的资源执行的操作的方式。每种方法都有不同的用途和语义。下面是一些常用的HTTP方法及其基本用途:

  1. GET: 请求获取指定的资源。GET请求应该只用于获取数据而不会导致副作用,即它们是幂等的。
  2. POST: 用于提交数据给服务器,比如表单提交。POST请求可能会导致服务器上的状态变化或副作用,并且不是幂等的。
  3. PUT: 用于将请求的内容放到指定位置,如果资源已存在则替换之。PUT请求是幂等的,意味着多次执行相同的PUT请求结果将是相同的。
  4. DELETE: 请求删除指定的资源。DELETE请求也是幂等的,多次调用对服务器的最终影响是相同的。
  5. HEAD: 类似于GET,但服务器在响应中只返回头部不返回实体的主体。用于获取资源的元数据。
  6. OPTIONS: 用于描述目标资源的通信选项。客户端可以通过此方法查看服务器支持哪些HTTP方法。
  7. PATCH: 用于对资源应用部分修改,不需要更新整个资源。PATCH请求不是幂等的,意味着多次相同的PATCH请求可能会有不同的结果。
  8. TRACE: 回显服务器收到的请求,主要用于调试目的。
  9. CONNECT: 用于建立网络隧道,常用于通过代理服务器连接HTTPS服务器。

状态码

HTTP响应报文中的状态码是服务器用来告知客户端请求的处理结果的三位数字代码。这些状态码分为几个类别,每个类别代表了一系列特定的响应语义。下面是这些类别和一些常见状态码的概述:

1xx:信息响应

  • 100 Continue:客户端应继续其请求
  • 101 Switching Protocols:服务器根据客户端的请求切换协议
  • 103 Early Hints:早期提示,可以用来预加载某些资源

2xx:成功

  • 200 OK:请求成功,响应体随之返回
  • 201 Created:请求成功并且服务器创建了新的资源
  • 202 Accepted:服务器已接受请求,但尚未处理
  • 204 No Content:请求成功但没有新的信息返回

3xx:重定向

  • 301 Moved Permanently:请求的资源已永久移动到新位置
  • 302 Found:请求的资源临时移动到其他位置
  • 304 Not Modified:资源自上次请求后没有修改,可直接使用客户端的缓存

4xx:客户端错误

  • 400 Bad Request:服务器无法理解请求格式
  • 401 Unauthorized:请求未经授权,需要进行身份验证
  • 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求
  • 404 Not Found:服务器找不到请求的资源
  • 405 Method Not Allowed:禁用请求中指定的方法
  • 408 Request Timeout:服务器等候请求时发生超时

5xx:服务器错误

  • 500 Internal Server Error:服务器遇到错误,无法完成请求
  • 501 Not Implemented:服务器不支持请求的功能,无法完成请求
  • 502 Bad Gateway:作为网关或代理工作的服务器从上游服务器收到无效响应
  • 503 Service Unavailable:服务器目前无法使用(由于超载或停机维护)
  • 504 Gateway Timeout:作为网关或代理的服务器,未及时从上游服务器接收请求

了解这些状态码及其含义对于开发Web应用程序非常重要,它们帮助开发者处理请求的成功、失败及错误情况,并对用户和其他服务提供明确的反馈。