15 CGI和WSGI】的更多相关文章

15 CGI和WSGI CGI是通用网关接口,是连接web服务器和应用程序的接口,用户通过CGI来获取动态数据或文件等. CGI程序是一个独立的程序,它可以用几乎所有语言来写,包括perl,c,lua,python等等. WSGI, Web Server Gateway Interface,是Python应用程序或框架和Web服务器之间的一种接口,WSGI的其中一个目的就是让用户可以用统一的语言(Python)编写前后端. 官方说明:PEP-3333…
作者:auxten链接:https://zhuanlan.zhihu.com/p/20054757来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. CGI(Common Gateway Interface) 最初,CGI 是在 1993 年由美国国家超级电脑应用中心(NCSA)为 NCSA HTTPd Web 服务器开发的. 这个 Web 服务器使用了 UNIX shell 环境变量 来保存从 Web 服务器传递出去的参数,然后生成一个运行 CGI 的独立进程.CG…
CGI 通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据.CGI描述了服务器和请求处理程序之间传输数据的一种标准. CGI程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行. 摘自维基百科 一句话总结: 一个标准,定义了客户端服务器之间如何传数据 FastCGI 快速通用网关接口(Fast Common Gateway Interface/FastCGI…
CGI规定了如何执行本地脚本技术规范(协议),FastCGI规定了如何远程请求执行脚本的技术规范,WSGI规定了如何请求执行Python脚本的规范. 他们的相同点就是envionment variables 类似于HTTP 的 header,由于CGI技术只是在本地调用,所以不需要编写任何服务器,直接把脚本放在特定的脚本目录中即可.由于FastCGI,WSGI都是远程请求规范,所以HTTP Server和他们之间使用socket,为了出来HTTP Server的请求,就要编写相应的服务器来接受H…
我们将服务端程序分为了web服务器和应用程序服务器. web服务器是用于处理HTML文件,让客户可以通过浏览器进行访问.主流的有apache,IIS,nginx,lghttpd等. 应用服务器处理业务逻辑,比如使用python的django,flask写成的程序 通常来自客户端浏览器的请求被web服务器截获,如果是静态请求,则如nginx会自己做处理,如果是动态请求,则会抛给后端应用服务器来处理.于是如何在web服务器与应用服务器之间进行通信成了主要问题,这就引出了以下三种处理的接口:CGI,F…
通常服务器程序分为web服务器和应用程序服务器.web服务器是用于处理HTML文件,让客户可以通过浏览器进行访问,主流的web服务器有Apache.IIS.Nginx.lighthttpd等.应用服务器处理业务逻辑,比如使用Python的Django.flask写的程序.通常来自客户端浏览器的请求被web服务器截获,如果是静态请求,则如Nginx会自己做处理,如果是动态请求,则会抛给后端应用服务器来处理.于是如何在web服务器与应用服务器之间进行通信成了主要问题,这就引出了以下三种处理的接口:C…
参考:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn 一.yum方式安装: 1.yum install httpd 输入y后继续. 2.看到一下类似的返回,说明安装成功 3.由于linux Redhat默认将httpd作为系统服务,可以根据实际需要将httpd加入开机启动. 单独查看某一服务是否开机启动的命令 :chkconfig --list 服务名 单独开启某一服务的命令 ;chkconfig 服务名 on 单独关闭某一服务的命令:chkcon…
https://www.nginx.com/resources/wiki/start/topics/examples/simplepythonfcgi/ 117 2018-06-28 19:56:42 yum install nginx 118 2018-06-28 19:58:32 service nginx start 添加nginx为系统服务(service nginx start/stop/restart) - 巫谢 - 博客园 https://www.cnblogs.com/wuxie…
Python语言特性 1 Python的函数参数传递 看两个例子:     1 2 3 4 5 a = 1 def fun(a):     a = 2 fun(a) print a  # 1 1 2 3 4 5 a = [] def fun(a):     a.append(1) fun(a) print a  # [1] 所有的变量都可以理解是内存中一个对象的"引用",或者,也可以看似c中void*的感觉. 这里记住的是类型是属于对象的,而不是变量.而对象有两种,"可更改&…
1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun(a) print a # [1] 所有的变量都可以理解是内存中一个对象的“引用”,或者,也可以看似c中void*的感觉. 这里记住的是类型是属于对象的,而不是变量.而对象有两种,“可更改”(mutable)与“不可更改”(immutable)对象. 在python中,strings, tuples…