本节内容
- Web服务器
- 浏览器
- CGI
- WSGI
- WEB框架
- 前端开发
- 后端开发
一、Web服务器
基础知识
- 涉及网络领域必须了解ISO七层模型以及TCP/IP协议
- TCP/IP协议簇中指明在IP、TCP之上的编程称为Socket编程,即所谓的网络编程
- Python Socket编程请参见:Python网络编程之路(一)——Socket初识
Web服务器
实现ISO网络七层协议中应用层协议的一种——HTTP。由于应用层通常的功能就是对外提供服务,so不同应用后边会加"服务器"三个字。例如:文件传输服务器——FTP ,邮件服务器——SMPT,POP3等等
主要功能
- 解析浏览器发来的HTTP请求:GET,POST
- 响应(RESPONSE) HTTP请求并传递HTML文档
目前市面上主流的Web服务器:Apache、IIS、Nginx
二、浏览器
Socket编程中得知:C/S架构中服务器(S)对外提供服务(监听本地端口、处理请求),客户端(C) 负责发送请求。浏览器就是Web服务中的客户端软件,常见:IE、FireFox、Chrome
三、CGI
动态网页
传统的Web服务器功能见上,缺点是HTML文档是静态的(事先写好存放到指定目录中),人机交互简单、没有个体化差异(即浏览器下载Web服务器HTML文档并解析展现供所有用户看)
动态网页即根据用户(浏览器)的不同请求展现不同的内容,即增加"网站"的互动性。可以说动态网页的需求迫在眉睫,CGI诞生了
直白来讲,Web服务器自身不处理动态内容而是自己定义了一套标准(也叫协议)交由服务器上的其他应用程序来进行处理,而且本身仅通过此接口接受并转换成HTML等浏览器识别的文件
CGI文件可以由C、Perl等编程语言实现,编译成*.cgi文件即可,通常也叫cgi脚本文件
四、WSGI
The Web Server Gateway Interface (WSGI) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language.
WSGI 配合Python Web框架使Python语言来进行Web应用程序开发变得更加方便。目前很多Web服务器都支持WSGI
更多猛点这里
五、Web框架
有了CGI,WSGI已经可以实现动态生成网页了,但对于Web应用程序来说还有很多东西是可以通用的,例如:数据库连接、重复性业务(登陆、注册)、会话管理等等
把通用的功能套路化就是框架,在Web领域即Web框架
《Python Web框架示意图》
常用Python Web框架: Django、Flask、Tornado、Web.py等
六、前端开发
Web中的前端就是指浏览器,so前端开发涉及内容:
- 浏览器(Chrome,FireFox等)
- 人机交互界面开发(通常所谓的前端开发),核心技术:HTML\CSS\JS\Ajax。当然还有很多前端框架(JQuery)
七、后端开发
通常分为三类:
- Web服务器(Apache、IIS、Nginx、Tomcat等)
- Web框架
- 运用Web框架,业务逻辑处理、数据库操作等(通常所谓的后端开发)