python web开发---框架初识

web开发

web指的是网络,web应用开发指的是基于网络的应用程序开发。
Web应用开发分为web前端开发和web后端开发。
Web前端开发:我们可以简单的理解为开发一些网页。
Web后端开发:写一些逻辑判断程序。
当用户发出请求给我们写的程序,程序根据用户的请求做出相应的判断,然后返回给客户相应的内容。
软件开发架构
两个程序之间通讯的应用大致可以分为两种:
第一种是应用类程序:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用

第二种是web类程序:用户只需要浏览器即可访问程序。常见的web类应用程序
比如百度、知乎、CSDN等使用浏览器访问就可以直接使用。

不管是应用类程序还是web类程序,这些应用的本质其实都是两个程序之间的通讯。
而这两个分类又对应了两个软件开发的架构

1、客户端服务器概念

客户端:就是我们常用的程序例如qq、微信,浏览器等等。
服务器:要一直运行着给别人提供服务的机器。

2、C/S架构

C/S即:Client与Server ,中文意思:客户端与服务器端架构。
这里的客户端一般泛指客户端应用程序exe,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。

python web开发---框架初识
3、B/S架构

B/S即:Browser与Server,中文意思:浏览器端与服务器端架构。
只需在浏览器上通过HTTP去请求服务器端相关的资源(网页资源)。

python web开发---框架初识

执行流程:
浏览器发出一次请求给服务端,服务端通过逻辑判断把相应的数据发送给客户端。
依次执行上面的流程。

4、什么是框架
在生活中就像我们想到的一样,框架指的我们在做一件事情的时候搭的骨架来完成基础的功能。
例如盖楼,开发商建的毛坯房就是楼的骨架,毛坯房的基础功能就是能住。如果想住的舒服
用户根据自己的需求来摆放物品。例如客厅放沙发,电视。主卧放床和衣柜等等。
python web开发---框架初识
例如明星开演唱会,舞台的搭建就是一个骨架,舞台基础的功能就是明星能有地方唱歌跳舞,如果想要气氛,可以在舞台上摆放不同的物品。
python web开发---框架初识
程序中的框架和生活中搭建的框架的功能是相同的,框架来完成一些基础的工作,

5、WEB框架的本质

我们可以这样理解:所有的Web应用框架本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 一些常用框架(Django、Tornado、Flash)是对socket服务端进行的封装,使得基础功能更加完善。

6、WSGI
WSGI(Web Server Gateway Interface, Web服务器网关接口) 就是一种规范,
它定义了使用Python编写的web应用程序与web服务器程序之间的接口格式,实现web应用程序与web服务器程序间的配合。
python web开发---框架初识
服务器和应用框架都遵循了WSGI协议后,就可以任意组合了更加灵活。
而Python标准库提供的独立WSGI服务器叫wsgiref,Django开发环境用的就是这个模块来做服务器。