荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: ant (江南笑笑生), 信区: Homepage
标  题: CGI[转]
发信站: BBS 荔园晨风站 (Sat May  8 08:08:42 1999), 转信

【 原文由 Anton 所发表 】





     一、CGI技术





    1.1CGI的提出





    CGI是外部扩展应用程序与WWW服务器交互的一个标准


  接口。按照CGI标准编写的外部扩展应用程序可以处理客


  户端(一般是WWW浏览器)输入的协同工作数据,完成客户


  端与服务器的交互操作。这在实际应用中非常有用,如可


  以编写CGI外部扩展程序来访问外部数据库,客户端用户


  可以通过它和WWW服务器来进行数据查询。





    CGI一般分两种:标准CGI和缓冲CGI。所有的WWW服务


  器均应支持标准CGI,按标准CGI编写的程序与具体的WWW


  服务器无关。而按缓冲CGI编写的程序与WWW服务器有关。





    1.2CGI的工作原理





    1.标准CGI





    客户端、服务器、CGI接口与外部程序间的关系可用


  图1-1表示:





    如上图所示,服务器是客户端(如浏览器)与扩展程


  序之间的通道。当客户端的用户完成了一定输入工作(比


  如填充完HTML文档中的FORM表)之后向服务器发出HTTP请


  求(称为CGI请求),服务器守护进程接收到该请求后,


  就创建一个子进程(称为CGI进程)。该CGI子进程将CGI请


  求的有关数据设置成环境变量,在外部CGI程序与服务器


  间建立两条数据通道(标准I/O),然后启动URL指定的CG


  I程序,并与该子进程保持同步,以监测CGI程序的执行状


  态。子进程通过标准输出流将处理结果传递给服务器守护


  进程,守护进程再将处理结果作为应答消息回送到客户端


  。





    外部CGI程序通过环境变量、命令行参数、标准输入


  输出与WWW服务器进行通讯,传递有关参数和处理结果。





    *环境变量:当服务器守护进程创建子进程运行CGI


  程序时,设置相应的环境变量和命令行参数,以传递客户


  端和服务器的有关信息给该子进程。





    *命令行参数:命令行参数仅在有HTML文档中有ISIN


  DEX查询的情况下使用。





    *标准输入输出:当HTTP请求模式采用POST方式时,


  CGI程序通过标准输入流和有关环境变量来获取客户端传


  输数据;如采用GET方式时,CGI程序直接通过环境变量获


  取客户端传输数据。当CGI程序要返回处理结果(一般为HT


  ML文档)给客户端时,它通过标准输出流将该结果数据传


  递给服务器守护进程。





  --


  ※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.116.174.100]


  --



--
少年心事当拿云,谁念幽寒坐呜呃!

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.235]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店