刘军连现在哪里就诊 https://wapjbk.39.net/yiyuanfengcai/tsyl_bjzkbdfyy/d141olg/相信大家在学习web开发的过程中一定会遇到cgi、wsgi之类的名词,然后看着他们十分相似的解释估计还没开始写代码就晕了,这都什么鬼?反正我最开始学习那会儿就不知道这些都是个啥,我也推荐学习过程不要纠结于某个词语的解释。当你拥有一定开发经验,对web开发有一个更系统的认识后回过头来看之前的疑惑也许就迎刃而解了,今天我就谈谈当初对这些看着十分相似的名词的浅见:CGI(CommonGatewayInteface):字面意思就是通用网关接口,我觉得之所以看字面意思跟没看一样是因为这个称呼本身很学术,所以对于通俗的理解就存在一定困难,这里我觉得直接把Gateway当作server理解就好。它是外部应用程序与Web服务器之间的接口标准意思就是它用来规定一个程序该如何与web服务器程序之间通信从而可以让这个程序跑在web服务器上。当然,CGI只是一个很基本的协议,在现代常见的服务器结构中基本已经没有了它的身影,更多的则是它的扩展和更新。在讲更进一步之前首先我们要了解目前比较常见的服务端结构:假设我们使用python的Django框架写了一个网站,现在要将它挂在网上运行,我们一般需要:nginx做为代理服务器:负责静态资源发送(js、css、图片等)、动态请求转发以及结果的回复;uWSGI做为后端服务器:负责接收nginx请求转发并处理后发给Django应用以及接收Django应用返回信息转发给nginx;Django应用收到请求后处理数据并渲染相应的返回页面给uWSGI服务器。####接下来的协议及接口就是应用在以上三者之间:FastCGI:CGI的一个扩展,提升了性能,废除了CGIfork-and-execute(来一个请求fork一个新进程处理,处理完再把进程kill掉)的工作方式,转而使用一种长生存期的方法,减少了进程消耗,提升了性能。这里FastCGI就应用于前端server(nginx)与后端server(uWSGI)的通信中,制定规范等等,让前后端服务器可以顺利理解双方都在说什么(当然uWSGI本身并不用FastCGI,它有另外的协议)WSGI(PythonWebServerGateWayInterface):它是用在pythonweb框架编写的应用程序与后端服务器之间的规范(本例就是Django和uWSGI之间),让你写的应用程序可以与后端服务器顺利通信。在WSGI出现之前你不得不专门为某个后端服务器而写特定的API,并且无法更换后端服务器,而WSGI就是一种统一规范,所有使用WSGI的服务器都可以运行使用WSGI规范的web框架,反之亦然。uWSGI:是一个Web服务器,它实现了WSGI协议、uwsgi、
转载请注明:http://www.aierlanlan.com/tzrz/9028.html