一、web开发 1. CS架构:Client/Server 1.1 互联网兴起,而Web应用程序的修改和升级非常快。 2. BS架构:Browser/Server 2.1 静态Web页面 2.2 CGI: Common Gateway Interface。用C/C++编写。 2.3 ASP/JSP/PHP: 脚本语言开发效率高。 2.3.1 ASP:微软,用VBScript脚本编程。 2.3.2 JSP:用Java编写脚本。 2.3.3 PHP:开源的脚本语言。 2.4 MVC:Model-View-Controller。使脚本(业务)和HTML(显示)分离。 二、HTTP协议简介 1. 参考书:《HTTP权威指南》 三、HTML简介 1. HTML文档由一系列tag组成。 2. CSS: 2.1 Cascading Style Sheets(层叠样式表); 2.2 用来控制HTML里所有元素如何展现。 2.3 类似于Word中的‘格式’和‘段落’的功能。 3. JavaScript: 3.1 脚本语言; 3.2 与Java无关; 3.3 负责页面的交互逻辑; 4. 参考: https://www.w3cschool.cn/ 四、WSGI接口 1. 静态服务器: 1.1 Apache、Nginx、Lighttpd、mini_httpd。 1.2 处理逻辑:根据http请求,生成相应的HTML页面,产生http响应即可。 2. WSGI : Web Server Gateway Interface 2.1 只需要Web开发者实现一个函数,在该函数中响应http请求即可。 2.2 其余如tcp连接、http原始请求和响应的格式,均由WSGI接口实现。 五、使用Web框架 1. WSGI的缺点:对于需要处理大量url的Web应用来说,在WSGI入口函数处,需要根据url进行大量判断。 2. Web框架的优点:实现了url到url处理函数的映射,Web开发者仅需要实现每一个url的处理函数即可。 3. 各种Web框架: 3.1 Flask:通过Python的装饰器在内部自动的把url和url处理函数关联起来。【装饰器】需要重点理解!!! 3.2 Django: 全能型Web框架。 3.3 web.py: 小巧的Web框架。可以看下源码。 3.4 Tornado: Facebook的开源异步Web框架。 六、使用模板 1. MVC: Model-View-Controller(模型-视图-控制器)。 1.1 控制器:url处理函数。负责业务逻辑。 1.2 视图:包含可替换变量的HTML模板。负责显示逻辑。 1.3 模型:控制器向视图的输入参数。 2. 作用:分离Python代码和HTML代码,业务逻辑与显示逻辑分离。妙!