使用不同的 HTTP 方法类型处理请求
Python Flask 使用不同的 HTTP 方法类型处理请求
HTTP 是基于客户端和服务端的请求-回应模型的。客户端(例如,网页服务器)可以发送不同的动词,或更合适的,调用方法来区别对服务器请求的类型。这些方法包括GET
、POST
、PUT
、DELETE
、HEAD
、PATCH
,以及OPTIONS
。GET
和 POST
是最常用的 HTTP 方法。接下来,我们仅仅使用这两个方法来讲解网页开发概念。
在讨论这两个方法之前,理解 HTTP 的两个组件是非常重要的,也就是 HTTP 请求和 HTTP 回应。一个 HTTP 请求会被分成三部分:
- 请求行(Request Line):这一行包含了使用的方法,请求的
URI
,和使用的 HTTP 协义的版本。GET /home HTTP/1.1
- 请求头字段(Header fields):请求头是元数据,提供适用于请求的信息。每个头部都以关键字-值对的方式提供,用冒号(:)分隔;
- 请求体(可选):它是一个占位符,我们可以添加额外的数据。对于一个网页应用程序来说,我们可以随
POST
请求一起在请求体内部发送表单数据。对于一个 REST 应用接口,我们可以在请求体内给PUT
或POST
请求发送数据。
当我们发送一个 HTTP 请求时,我们会得到一个 HTTP
回应,作为请求的结果。HTTP 回应和 HTTP 请求有相似的部分:
- 状态行:这行指明了回应是成功的,还是失败的。错误代码会出现在状态行上:
HTTP/1.1 200 OK
200
这个状态码,或在闭区间[200,299]
之间的状态码,代表成功。错误码在闭区间[400,499]
内,表示客户端错误,错误码在闭区间[500,599]</