CGI
期待一片自己的蓝天
在加利福尼亚州门洛帕克的Facebook园区入口可以看到一个标牌,正面是经典的竖起大拇指点赞的图案,然而在这个标牌的背面,掩映在树荫里的依然是园区昔日所有者2009年被甲骨文公司Oracle吞并的Sun电子计算机公司Sun Microsystems Inc.的名字。Facebook之所以在牌子上留下Sun电子计算机公司的名字就是为了警醒自己,如果企业停止创新的步伐,就会沦落至如此下场。
展开
-
CGI的工作原理
CGI是Web服务器和外部程序之间的一个接口。利用CGI程序可以处理从Web上客户端发送出来的表单和数据,并对此做出相关操作。这种反应可以是HTML文件、图片、声音、视频等可以在浏览器窗体上出现的任何数据。通用网关接口有两个含义。首先它为客户端用户通过www获取Internet上的其他服务,例如Archie、WAIS、Database等提供了一个接口,虽然不能直接在www上访问这些服务,但是您可以原创 2014-11-12 20:19:33 · 3574 阅读 · 0 评论 -
apache 使用 mod_fcgid.so模块时 配置指令
FcgidBusyScanInterval指令说明:扫描繁忙超时进程的间隔语法: FcgidBusyScanInterval seconds默认:FcgidBusyScanInterval 120环境: 服务器配置状态:外部对应的老指令:BusyScanInterval原创 2015-03-13 16:57:59 · 5079 阅读 · 0 评论 -
fcgi程序两种编写风格
fcgi进程可以写成单线程的,也可以写成多线程的。单线程就是main函数中有一个死循环,一直等待接受请求,有请求过来时,就处理请求,并返回结果,没有并发性。多线程也分两种模式:一种是main函数起多个线程,每个线程都独立接受请求。另一种是main函数起一个accpet线程接受请求,多个do_session线程处理请求,这种模式需要一个任务队列的支持。模式不同,采用的系统架构就不同。下面原创 2015-02-13 11:42:16 · 4103 阅读 · 0 评论 -
FCGI单线程环境和多线程环境下的例子
0.背景在项目中加入了等待通讯的内容,所以原来单个请求处理时间增加了。单线程处理的fcgi就会浪费CPU和用户时间,所以需要多线程来处理,减少用户排队时间。将处理用户请求的部分从单线程变为多线程,需要大概了解改动会不会影响性能。得到的结论是:多线程和单线程在执行的流程和使用方法几乎一样,所以多线程不会带来额外的负担。1.单线程的处理步骤1.1一个简单的单线程原创 2015-01-21 15:00:42 · 4236 阅读 · 0 评论 -
spawn-fcgi原理及源码分析
spawn-fcgi是一个小程序,作用是管理fast-cgi进程,功能和php-fpm类似,简单小巧,原先是属于lighttpd的一部分,后来由于使用比较广泛,所以就迁移出来作为独立项目了,本文介绍的是这个版本“spawn-fcgi-1.6.3”。不过从发布新版本到目前已经4年了,代码一直没有变动,需求少,基本满足了。另外php有php-fpm后,码农们再也不担心跑不起FCGI了。很久之前原创 2014-11-19 10:17:35 · 5493 阅读 · 1 评论 -
CGI的基本原理
一.基本原理CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的Cgi程序。它们之间原创 2014-10-15 19:18:53 · 2047 阅读 · 0 评论 -
cgi环境变量的意义
环境变量 意义SERVER_NAME CGI脚本运行时的主机名和IP地址.SERVER_SOFTWARE 你的服务器的类型如: CERN/3.0 或 NCSA/1.3.GATEWAY_INTERFACE 运行的CGI版本. 对于UNIX服务器, 这是CGI/1.1.SERVER_PROTOCOL 服务器运行的HTTP协议. 这里当是HTTP/1.原创 2014-10-09 21:16:34 · 1322 阅读 · 0 评论 -
输出CGI的环境变量
用C写的,输出CGI的环境变量.路径:/var/www/cgi-bin/编译:gcc -o cgi_env cgi_env.c -std=c99在浏览器中输入http://localhost/cgi-bin/cgi_env 或者 http://ip/cgi-bin/cgi_env//cgi_env.c#include stdl原创 2014-10-13 12:09:16 · 1146 阅读 · 0 评论 -
CGI的知识点
CGI(Common Gateway Interface)是能让web服务器和CGI脚本共同处理客户的请求的协议。它的协议定义文档是http://www.ietf.org/rfc/rfc3875。其中Web服务器负责管理连接,数据传输,网络交互等。至于CGI脚本就负责管理具体的业务逻辑。Web服务器的功能是将客户端请求(HTTP Request)转换成CGI脚本请求,然后执行脚本,原创 2014-10-15 12:53:51 · 1130 阅读 · 0 评论 -
cgi怎么获取页面请求参数(get、post两种请求)
在开发cgi/fcgi程序时,肯定会遇到读取页面请求参数的问题, 对于get请求来说,直接getenv("QUERY_STRING")就可以拿到,而对于post请求来说,参数是写到标准输入流中的,需要从stdin中读取,或者 cin >> content,原创 2014-10-13 11:36:35 · 9381 阅读 · 0 评论 -
安装fcgi时出现:error: ‘EOF’ was not declared in this scope解决方法
解决办法:在/include/fcgio.h文件中加上 #include ,然后再编译安装就通过了。原创 2015-03-23 22:56:02 · 1950 阅读 · 0 评论