学习框架和库可以让软件开发者在开发软件时有更高的编程效率。下面我们通过案例研究来简单了解一下web编程框架的概念和用法分析。
1.什么是web框架?

无论是简单的博客网站还是复杂的AJAX应用程序,每个页面都是由代码生成的。我发现很多开发者喜欢学习web框架,比如Flask或者Django。然而,他们并不真正理解什么是web框架,它的目的是什么,以及它是如何工作的。
2.web框架是如何工作的
在我们开始讨论web框架之前,我们需要知道web是如何工作的。我们会发现:当你在浏览器中输入网址,按下回车键,之后发生了什么。
1 .网络服务器
每个网页都以HTML格式发送到您的浏览器。HTML是一种用来描述网页内容和结构的语言。响应并向浏览器发送HTML的应用程序称为web服务器。令人困惑的是:运行刚才提到的应用程序的机器也被称为web服务器。

注意,到目前为止,所有的服务器都向浏览器发送HTML。无论应用程序有多复杂,最终结果都是将HTML发送到浏览器。
web应用程序如何知道向浏览器发送什么?它根据浏览器的请求返回响应内容。
2.超文本传送协议
浏览器通过HTTP协议向服务器请求网站的数据。HTTP是“请求-响应”模式的基础。客户端向服务器请求数据。web应用程序依次响应客户的请求,并将响应数据发送给客户端。
需要记住的一点是,沟通是由客户发起的。服务器无法向客户端发送数据、启发连接或主动向客户端发送数据。如果您从服务器接收数据,它必须由您的浏览器请求。

3.web应用程序
GET和POST方法是两种常见的HTTP方法。web应用负责接收HTTP请求并返回相应的HTTP响应,返回的请求结果通常包含HTML。POST请求是让web应用程序做一些事情或者向数据库添加一条新记录。当然还有一些HTTP的其他方法,但接下来我们只说GET和POST。
我们可以编写一个监听端口80并等待连接的应用程序。它建立一个连接,等待来自客户端的请求,并在收到请求后返回一些简单的HTML作为响应。
4.数据交互
Django拥有‘自带电池’的设计理念,包含ORM,让操作数据像操作一样简单。Flask是一个“微观框架”。它没有自己的数据交互模板,但是您可以使用SQLAlchemy。Flask和Django用ORM做数据:增删改查;它变得非常方便,简。


