Request 和 Response 对象的属性中,有一些是元数据,有一些是解析后的数据,还有一些只是连接。json
method
起始行,元数据host
起始行,元数据path
起始行,元数据environ
其中的 SERVER_PROTOCOL
是起始行,元数据headers
头,元数据data
body, 元数据remote_addr
客户端地址args
请求连接中的参数(GET 参数),解析后form
form 提交中的参数,解析后values
args 和 form 的集合json
json 格式的 body 数据,解析后cookies
指向 Cookie 的连接Request 对象对参数的分类很细,注意 args
, form
, valeus
, json
的区别。固然最保险也最原始的方式就是本身去解析 data
。cookie
另外一个需注意的地方是某些属性的类型,并非 Python 标准的 dict
,而是 MultiDict 或者 CombinedMultiDict。这是为了应对 HTTP 协议中参数都是可重复的这点而作的设定。所以取值的时候要注意这些对象的特性,好比 .get()
和 .get_list()
方法返回的东西是不一样的。app
status
状态码,元数据status_code
只包含 code 的 statusheaders
头,元数据mimetype
去掉 charset 的 content type,如 application/json
data
body,元数据