请求
请求的方法
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | GET | 请求指定的页面信息,并返回实体主体 |
| 2 | HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
| 3 | POST | 向指定资源提交数据进行处理请求(例如提交表单)。数据被包含在请求体中。POST请求可能导致新的资源的建立和/或已有资源的修改 |
| 4 | PUT | 从客户端向服务器传送的数据取代指定文档的内容 |
| 5 | DELETE | 请求服务器删除指定的页面 |
| 6 | CONNECT | HTTP/1.1协议中预留给能够连接改为管道方式的代理服务器 |
| 7 | OPTIONS | 允许客户端查看服务器的性能 |
| 8 | TRACE | 回显服务器收到的请求, 主要用于测试或者诊断 |
HttpRequest对象
服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。
属性:
- path_info :URL字符串,表示请求的页面的完整路径,不包含域名和参数部分。
- method:一个字符串,表示请求使用的HTTP方法,常用值包括:‘GET’、‘POST’。
- 在浏览器中给出地址发出请求采用get方式,如超链接。
- 在浏览器中点击表单的提交按钮发起请求,如果表单的method设置为post则为post请求。
- GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。
- POST:QueryDict类型对象,类似于字典,包含post请求方式的所有参数。
- FILES:一个类似于字典的对象,包含所有的上传文件。
- COOKIES:一个标准的Python字典,包含所有的cookie,键和值都为字符串。
- session:一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用。
- body:字符串,请求体的内容(POST或PUT)
- scheme: 请求协议(‘http’/‘https’)
- get_full_path():请求的完整路径
- META:请求中的元数据(消息头)
- reques.META[‘REMOTE_ADDR’]:客户端IP地址
响应状态码
常见的:
- 200 -请求成功
- 301 - 永久重定向-资源(网页等)被永久转移到其他URL
- 302 - 临时重定向
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
http状态码类型:
| 分类 | 分类描述 |
|---|---|
| 1** | 信息,服务器收到请求,需要请求者继续执行操作 |
| 2** | 成功,操作被成功接受并处理 |
| 3** | 重定向,需要进一步的操作以完成请求 |
| 4** | 客户端错误,请求包含语法错误或无法完成请求 |
| 5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
响应对象
构造函数格式:
HttpResponse(content = 响应体, content_type =响应体数据类型 ,status = 状态码)
作用:向客户端浏览器返回响应,同时携带响应体内容
常见的content-type:
- ‘text/html’ 默认的,HTML文件
- ‘text/plain’ 纯文本
- ‘text/css’ CSS文本
- ‘text/javascript’ js文件
- ‘multipart/form-data’ 文件提交
- ‘application/json’ JSON传输
- ‘application/xml’ xml文件
HttpRequest子类
| 类型 | 作用 | 状态码 |
|---|---|---|
| HttpRequestRedirect | 重定向 | 302 |
| HttpRequestNotModified | 未修改 | 304 |
| HttpRequestBadRequest | 错误请求 | 400 |
| HttpRequestNotFound | 没有对应的资源 | 404 |
| HttpRequestForbidden | 请求被禁止 | 403 |
| HttpRequestServerError | 服务器错误 | 500\ |
本文介绍了Django框架中的请求和响应处理。请求部分讲解了HttpRequest对象,包括其属性如GET、POST、COOKIES、FILES等,以及如何获取完整的请求路径。响应部分涉及常见的HTTP状态码,如200、301、302、404、500,并讨论了响应对象的构造和不同content-type的应用。最后提到了HttpRequest的子类。
486

被折叠的 条评论
为什么被折叠?



