HTTP请求方法是客户端与服务器通信时所使用的动作指令。每种方法都有其定义好的作用和约束条件。
- GET:请求指定的资源。GET请求应该只用于获取数据,并且不应当影响资源的状态。
- POST:用于将数据提交到指定的资源,通常导致服务器上的状态变化或副作用(例如提交表单或上传文件)。
- PUT:用于替换指定的资源。如果指定的资源不存在,PUT方法可以创建一个新的资源。
- DELETE:删除指定的资源。
- HEAD:类似于GET,但服务器返回的响应中没有具体的内容,用于获取报头。
- OPTIONS:用于描述目标资源的通信选项。
- PATCH:用于对资源执行部分修改。
- CONNECT:用于代理服务器,建立管道到资源服务器。
- TRACE:回显服务器收到的请求,主要用于测试或诊断。
HTTP状态码是服务器响应客户端请求时的数值码,表明请求的状态和发生的错误类型。
1xx(信息响应) :表示临时的响应,要求客户端继续等待。
2xx(成功) :表示请求被成功接收、理解和接受。
- 200 OK:请求成功。
- 201 Created:请求成功,并且服务器创建了新的资源。
3xx(重定向) :要完成请求需要进一步操作。
- 301 Moved Permanently:永久重定向。
- 302 Found:临时重定向。
4xx(客户端错误) :表示客户端看起来出错了。
- 400 Bad Request:服务器无法理解请求格式。
- 401 Unauthorized:请求未经授权。
- 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
- 404 Not Found:服务器找不到给定的资源;文档不存在。
5xx(服务器错误) :服务器在处理请求的过程中出错。
- 500 Internal Server Error:服务器遇到了不知道如何处理的情况。
- 503 Service Unavailable:服务器不可用或维护。
HTTP消息报文结构分为请求报文和响应报文。
请求报文由以下部分构成:
- 请求行:包含请求方法、请求URI和HTTP版本。
- 请求头部:包含用于修改请求或表示请求者偏好的键值对。
- 空行:头部和消息体之间的分隔符。
- 消息体(可选):数据发送给服务器的实际内容。
响应报文结构如下:
- 状态行:显示HTTP版本、状态码以及对应的状态信息。
- 响应头部:包含服务器信息、内容类型和缓存策略等。
- 空行:同上,头部和消息体之间的分隔符。
- 消息体(可选):返回给客户端的内容。