道–理解整个web应用
一、web应用的本质
1. 浏览器发送一个HTTP请求;
2. 服务器收到请求,生成一个HTML文档;
3. 服务器把HTML文档作为HTTP响应的Body发送给浏览器;
4. 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
二、web应用结构的进化
原始文明:WSGI接口。
功能:服务器对端口进行监听,当接收到请求时调用处理函数。这个层次需要构建一个晚辈的处理浏览器请求的函数。
不足:所有请求的处理都从一个函数出发,需要手工分析URL,根据不同的URL,不同的数据生成对应的HTML相应。
农耕文明:使用web框架。(flask为例)
功能:简单的通过函数装饰器便可以定义每个函数处理哪个URL请求。框架会在收到请求之后根据URL调用对应的框架。这个层次,需要针对每个URL写一个处理函数。
不足:URL处理函数仍然需要负责解析参数,生成响应。
工业文明:使用HTML模板。
功能:HTML模板是带有变量的不完整的HTML文档。通过使用支持HTML模板的框架,将HTML模板中的变量替换为相应的值从而快速生成HTML模板。
另外模板还有include方法,即将重复出现的HTML写成单独的文件,其他文件通过include直接导入。
还有模板继承方法,父模板中有通用的结构并留下一些空白的blocks,子模板继承父模板已有的内容并补充完整留空的blocks。
现代文明:独立业务逻辑、中间件。
功能&