Django框架-请求及响应
请求及响应的定义
- 请求是指浏览器端通过HTTP协议发送给服务器端的数据
- 响应是指服务器端接收到请求后做相应的处理后再回复给浏览器端的数据
请求中的方法
- 根据HTTP标准,HTTP请求可以使用多种请求方法
- HTTP1.0定义了三种请求方法:GET,POST和HEAD方法(最常用的)
- HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法
序号 | 方法 | 请求 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体 |
2 | HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体。POST请求可能会导致新的资源的建立和/或已有资源的修改 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容 |
5 | DELETE | 请求服务器删除指定的页面 |
6 | CONNECT | HTTP/1.1协议中预留给能够将连接为管道方式的代理服务器 |
7 | OPTIONS | 允许客户端查看服务器的性能 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
Django中的请求
- 请求在Django中实则就是视图函数的第一个参数,即HttpRequest对象
- Django接受到http协议的请求后,会根据请求数据报文创建HttpRequest对象
- HttpRequest对象通过属性描述了请求的所有相关性息
path_info
:URL字符串method
:字符串,表示HTTP请求方法,常用值:‘GET’、‘POST’GET:QueryDict
查询字典的对象,包含get请求方式的所有数据POST:QueryDict
查询字典的对象,包含post请求方式的所有数据FILES
:类似于字典的对象,包含所有的上传文件信息COOKIES:Python
字典,包含所有的cookie,键和值都为字符串session
:似于字典的对象,表示当前的会话body
:字符串,请求体的内容(POST和PUT)scheme
:请求协议(‘http’/‘https’)request.get_full_path()
:请求的完整路径request.META
:请求中的元数据(消息头)- -request.META[‘REMOTE_ADDR’]:客户端IP地址
响应状态码
HTTP状态码的英文为HTTP Status Code
下面是常见的HTTP状态码
-200-
请求成功-301-
永久重定向-资源(网页等)被永久转移到其他URL