1.CS架构:Client / Server
2.BS架构:Browser / Server
3.在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。
4.HTTP1.0 和 HTTP1.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依赖于一些外在的库:Werkzeug、Jinja2
①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作用?
- 分离
Python和HTML(CSS,JS)代码。将HTML代码全部放到模块中。
13.项目结构
awesome-python3-webapp/ --- root directory
+- backup/
+- conf/
+- dist/
+- www/
+- static/
+- templates/
+- ios/
+- license