python代码学习,能看懂。但是要自己写代码,在不看代码情况下,写出来的才算懂了。
WEB 应用服务基于 HTTP 协议规范,实现静态资源和动态资源的请求与处理,静态资源包含 html 网页、图片、样式、JavaScript脚本、视频、音频等。动态资源即通过程序(java、python、PHP、.net)和数据库(mysql、oracle、sqlserver)根据业务处理流程动态生成html,再将HTML响应给请求(客户端)。
HTTP 与 HTML 的关系:
- 客户端封装http请求(httprequest),向服务端发起请求
- 服务端接收请求后,分析资源请求路径、请求参数(查询参数、表单参数、json/字节流)、请求方法、请求等。
- 服务端根据资源的请求路径读取文件的内容,并生成字节码数据且封装响应对象(HttpResponse)
- 客户端接收服务端的响应数据(HttpResponse),判断请求是否成功,如果成功,则显示数据(html/json)
web应用服务:
- 客户端(Browser浏览器)发起请求(HttpRequest)
- 服务端(Apache/Nginx/PythonWeb)接收请求,根据请求的资源信息,读取文件,并封装对象(HttpRequest)
- 客户端接收资源,分析资源的类型,然后渲染并显示出来。
python web 开发框架
python web后端,开发速度快,适用中小型网站开发,java 并发量大,开发速度慢
python 提供的开发模块是 wsgiref。Flask 基于 Werkzeug 库实现了 wsgi 通信协议。
WSGI: web server gateway interface web 服务网关接口,负责http协议的底层通信。
flask/Django 框架遵循 WSGI 通信协议,方便部署到服务器上
python web开发框架 Django;Flask小巧。灵活的框架,可以快速开发 api 接口;Tornado 是基于协程和单线程单进程的框架,实现非阻塞的网络框架。
web项目 M(模型)V(视图)C(控制器)设计思想
- 客户端发起请求之后,通过路由找到视图处理函数
- 路由(app.route()) 和 视图处理函数 (def func(),controller)事先在 app 中声明
- 视图函数中根据业务,加载数据(model)并渲染到模板(template)中
- 将渲染后的模板数据返回给客户端
python中,是m(模型)t(模板)v(视图,控制作用) 模式
web | M | V | C |
---|---|---|---|
web项目 | 模型(与数据库和控制器通信) | 视图 展示 html | 控制器 |
python项目 | 模型 | 模板--html | 视图,控制作用 |
python | M | T | V |