HTTP请求中的方法:
HTTP1.0 GET,POST ,HEAD
HTTP1.1 GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE,CONNECT
请求方法 | 说明 |
GET | 请求指定的页面信息,并返回实体主体 |
HEAD | 类似于get 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
POST | 向指定资源提交数据进行处理请求。数据被包含在请求体里。可能会导致新的资源的建立和/或已有资源的修改 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。更新 |
DELETE | 请求服务器删除指定的页面 |
CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器;翻墙时 |
OPTIONS | 允许客户端查看服务器的性能 |
TRACE | 回显服务器收到的请求,用于测试或诊断 |
Django中请求:
就是视图函数中的第一个参数,即HttpRequest对象;
Django接收到http协议的请求后,会根据请求数据报文创建HttpRequest对象;
HttpRequest对象通过属性描述了请求的所有相关信息:
1) path_info :URL字符串;
2) method:字符串,表示HTTP请求方法,常用:‘GET'、'POST'等;
3) GET: QueryDict查询字典的对象,包含get请求方式的所有数据;
4) POST:QueryDict查询字典的对象,包含post请求方式的所欲数据;
5) FILE: 类似于字典的对象,包含所有的上传文件信息;
6) COOKIES: Python 字典,包含所有的cookie,键值都为字符串;
7) session: 类似于字典的对象,表示当前的会话;
8) body:字符串,请求体的内容(POST 或 PUT)
9) scheme:请求协议('http'/'https')
10) request.get_full_path() : 请求的完整路径
11) request.META: 请求中的元数据(消息头),比如获得客户端IP:request['REMOTE_ADDR']
响应状态码:
200 请求成功
301 永久重定向,资源(网页等)被永久转到其它URL
302 临时重定向
404 请求的资源(网页等)不存在
500 内部服务器错误
HttpResponse(content,content_type,status)
作用:向客户端浏览器返回响应,同时携带响应体内容
参数:
1) content=响应体,
2) content_type=响应体数据类型,默认是 html
'text/html'
'text/plain' 纯文本
'text/css'
'text/javascript'
'multipart/form-data' 文件提交
'application/json'
'application/xml'
3)status=状态码,默认是200
HttpResponse子类:
HttpResponseRedirect 重定向 302
HttpResponseNotModified 未修改 304
HttpResponseBadRequest 错误请求 400
HttpResponseNotFound 没有对应资源 404
HttpResponseForbidden 请求被禁止 403
HttpResponseServerError 服务器错误 500