django
客户端发送请求-中间件-路由系统urls.py -视图函数view-获取数据-response-中间件-客户端获取数据
建立tcp连接时,需要客户端和服务器共发送3个包
三次握手:
第一次:客户端发向服务器发送连接请求
第二次:服务器向客户端发送确认请求 并等待建立连接
第三次:客户端向服务器发送确认 并开始建立连接
断开连接之前
四次挥手:
第一次:客户端向服务器发送断开请求
第二次:服务器向客户端发送确认断开
第三次:服务器断开
第四次:客户端确认断开 断开连接
http常见的请求方式:
http/1.1协议中共定义了八种方法(有时也叫动作),来表明request-url指定的资源不同的操作方式
http/1.0定义了三种请求方法:get,post,head方法
http1.1新增了五种请求方式:options,put,delete,trace和connect方法
get 请求置顶的页面信息,并返回实体主体。
head:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
post:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。post请求可能会导致新的资源建立/或已有资源的修改
put: 从客户端向服务器传送的数据取代指定的文档的内容
delete:请求服务器删除指定的页面
connect:http/1.1协议中预留给能够将连接改为管道方式的代理服务器
options 允许客户端查看服务器的性能。
trace :回显服务器收到的请求,主要用于测试或诊断
http报文:
请求方法 空格 url 空格 协议版本 请求行
头部字段名:值
头部字段名:值 请求头部
请求数据
常见状态码:
200:成功
201:created创建返回成功
301:永久重定向
302:临时重定向
404:请求资源不存在
405:客户端错误
500:服务器错误 服务器不能完成有效的请求
django
作用:简便、快速的开发数据库驱动的网站
优势:快速开发、mvt、mvc、功能齐全、版本django1.11.11
开发数据驱动web网站(复杂的业务逻辑)
数据分析后的结果展示界面,一般用 flask
快速成型应用上线,就用django
mvc、mvt
分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,,实现向后兼容。
mvc:
m:model,主要封装对数据库层的访问,对数据库的数据进行增删改查操作
v:view,用于封装结果,生成页面展示html内容
c:controller,用于接收请求,处理业务逻辑,与model、view交互返回结果
mvt:
m与mvc中的m功能相同,负责与数据库交互,进行数据处理
v与mvc中的c功能相同,接受请求,进行业务处理,返回应答
t:template,与mvc中的v功能相同,负责封装构造要返回的html