Python - HTTP | Web应用 | WSGI | MVC

1.CS架构:Client / Server
2.BS架构:Browser / Server
3.在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。
4.HTTP1.0HTTP1.1的区别?
  • 1.1版本允许多个HTTP请求复用一个TCP连接。
  • TCP : Transmission Control Protocol 传输控制协议
  • UDP : User Datagram Protocol 用户数据报协议
5.一个Web应用的本质

①浏览器发送一个HTTP请求;
②服务器收到请求,生成一个HTML文档;
③服务器把HTML文档作为HTTP响应的Body发送给浏览器;
④浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。

6.一个统一的接口的作用?
  • 使我们不必接触TCP连接、HTTP原始请求和响应格式。
  • 这个接口就是WSGI:Web Server Gateway Interface
7.WSGI
  • 无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得;HTTP响应的输出都可以通过start_response()加上函数返回值作为Body
HelloGerg.png
server.png
8. Flask依赖于一些外在的库:WerkzeugJinja2

Werkzeug是一个针对于WSGI的软件包,为Web应用和一系列服务器(开发和部署)提供标准的Python接口。
Jinja2:渲染模块。

9.MVC:Modle-View-Controller 模型-试图-控制器

Python处理URL的函数就是C:Controller,负责业务逻辑,如:检查用户名是否存在?取出用户信息等等。
②包含变量{{ name }}的模板就是V:View,负责显示逻辑,简单地替换一些变量,View最终输出的就是用户看到的HTML
Model是用来传给View的,这样以来,View在替换变量的时候,就可以从Model中取出相应的数据。

10.Ubuntu环境下禁止/启用触摸板
sudo rmmod psmouse    这个是禁用的
sudo modprobe psmouse 这个是启用的
11.Ubuntu 键盘卡顿问题 ?
  • System setting - universal Access - slow key
12.MVC作用?
  • 分离PythonHTML(CSS,JS)代码。将HTML代码全部放到模块中。
13.项目结构
awesome-python3-webapp/  --- root directory
+- backup/
+- conf/
+- dist/
+- www/
     +- static/
     +- templates/
+- ios/
+- license

推荐阅读更多精彩内容