HTTP通信与Web框架
1. HTTP通信与Web框架
1.1 流程
客户端将请求信息打包成HTTP的请求报文(HTTP协议格式的请求数据)。
采用TCP传输发送给服务器端。HTTP——网络层 TCP——传输层
服务器接收到请求报文后,按照HTTP协议进行解析。
服务器根据解析后获知的客户端请求进行逻辑执行。
服务器将执行后的结果封装成HTTP的响应报文(HTTP协议格式的响应数据)。
采用刚才的TCP连接将响应报文发送给客户端。
客户端按照HTTP协议解析响应报文获取结果数据。
1.2 细节
客户端不一定是浏览器,也可以是PC软件、手机APP、爬虫程序。
根据服务器端的工作,将其分为两部分:
服务器:与客户端进行TCP通信,接收、解析、打包、发送HTTP格式数据。
业务程序:根据解析后的请求数据执行逻辑处理,形成要返回的数据交给服务器。
服务器与Python业务程序配合使用WSGI协议。
1.3 Web框架
Web框架能够被服务器调用起来,根据客户端的不同请求执行不同的逻辑处理,形成要返回的数据的程序。
核心:实现路由和视图(业务逻辑处理)。
1.4 框架的轻重
重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如Django。
轻量级的框架:只提供Web框架的核心功能,自由、灵活、高度定制,如Flask、Tornado。
1.5 了解Web开发的任务
视图开发:根据客户端请求实现业务逻辑(视图)编写。
模板、数据库等其他的都是为了帮助视图开发,不是必备的。