Django预备知识
HTTP协议
HTTP协议
“超文本传输协议”,HTTP协议就是客户端和服务器之间数据传输的格式规范。
基于TCP/IP来讲:
1)HTTP是一个属于应用层的面向对象的协议。
2)HTTP协议工作雨客户端-服务端架构上。
基于请求-响应模式来讲:
浏览器作为HTTP客户端通过URL向HTTP服务器(WEB服务器)发送所有请求。
WEB服务器根据接收到的请求,向客户端发送响应信息。
为什么说HTTP协议是无状态协议?怎么解决呢?
HTTP协议自身不具备对通信状态进行保存这个功能。是一种不保存状态,即无状态(stateless)协议。
怎么解决?
cookie保存和session会话保存。
客户端通过cookie将服务器端之前请求的信息存储起来
Session服务器端的缓存
HTTP请求中常见的请求方式
进入谷歌或者火狐访问百度,点开开发者模式f12
请求需要封装的数据
GET:更多用于获取页面信息,提交不敏感的数据
HTTP请求中常见的请求方式
HTTP1.0:GET,POST,HEAD方法
HTTP1.1(新增6种请求方法)::OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方
法。
POST一般是提交,登录或者提交敏感数据时候
HEAD请求头部信息
MVC模式与MTV模式
MVC模式
MVC模式:
将web应用分为模型、控制器、视图三层,模型负责对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接收用户的输入调用模型和视图完成用户的请求。
MTV模式
本质上和MVC模式相同。在python中基本都使用了MVC的变种MTV(Model Templates View 模型-模板-视图)。
Django的MTV分别是:
M(Model)即模型:负责业务对象和数据库的关系映射(ORM)。
T(Template)即模板:负责如何把页面展示给用户(html)。
V(View)即视图:负责业务逻辑,并在适当时调用Model和Template。
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处
理,View再调用相应的Model和Template,MTV的响应模式如下所示: