fcgi,scgi,wsgi,cgi

fcgi,scgi,wsgi,cgi

原创文章,转载请注明来源并保留原文链接

我常常想,web开发的本质是什么?站在最终用户的角度,无非就是用浏览器将网页显示出来。网页又是什么?其实就是HTML。HTML是什么?其实就是浏览器认识的语言,例如,通过HTML告诉浏览器这边我需要一个链接(a标签),那么我们就能看到一段链接。如果只是单纯的静态页面,就像广告那样纯粹的显示,那么可能根本用不着java,ruby等语言,HTML就够了。

CGI是什么?

Common Gate Interface的简称,通用网关接口。是一段跑在服务器上的程序,用来处理用户请求的。

为嘛要CGI?

现在的网页远远不像静态页面那么简单,我们常常要拿到用户的输入,然后再返回相应的页面,所以在服务器端的程序必须有能动态的生成HTML的能力。CGI既然是接口,接的也就是服务器和客户端。当然了,理论上,任何有输入输出能力的语言都可以用来写CGI。

简单的CGI例子:

第一步,配置Apache:
CGI当然不是随便就能跑的,当然要在服务器上做一些设置了。配置也很简单。
1)首先确定安装了apache2
2)默认的cgi-bin目录在/usr/lib/下,在里面用perl写一段代码,保存为hw.pl,具体可以看Apache官方文档

#! /usr/bin/perl
print  "Content-type: text/htmlnn" ;
print  "<a href='www.google.com'>Hello, World.</a>" ;

3)可能的话要给该文件hw.pl加上chmod a+x 可执行的权限。
4)访问http://localhost/cgi-bin/hw.pl 就可以看见标准的”Hello,World.”链接了。

FCGI又是什么?

FCGI全称是FastCGI,顾名思义,就是比CGI快,fcgi的百度百科。FCGI和CGI都是语言无关的,FCGI以多消耗内存来换取速度。

SCGI是什么?

其实这些都是为了更好的取代CGI的功能,SCGI全称Simple Common Gateway Interface。顾名思义,这个就是简单咯。scgi也是客户端/服务器端形式,客户端发送请求,处理,服务器端响应请求。简而言之,SCGI定义了发送或者响应报文形式的协议。也是和语言无关的。

WSCGI是什么?

WSGI全称Web Server Gateway Interface。WSGI是python特有的,不过只要实现了他的协议,WSGI也可以跑在任何服务器上。另外ruby中的Rack也借鉴了WSGI。

其实具体协议的内容没必要探究,只需要知道他们处理的问题是什么就够了。
一些链接
how-python-web-frameworks-wsgi-and-cgi-fit-together
is-there-a-speed-difference-between-wsgi-and-fcgi
whats-the-difference-between-scgi-and-wsgi

This entry was posted in  Ruby&Rails and tagged  cgifcgiscgiwsgi by  zshuaibin. Bookmark the permalink.


From: http://zires.info/2011/01/fcgi-scgi-wsgi-cgi/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值