第11章 CGI技术.pptVIP

  • 4
  • 0
  • 约4.02千字
  • 约 20页
  • 2017-12-23 发布于上海
  • 举报
第11章 CGI技术

湖南科技大学计算机科学与技术系 第11章 CGI技术 内容 CGI技术基础 CGI接口规范 FORM表单和CGI CGI程序 11.1 CGI基础 CGI 是 Common Gateway Interface 的缩写,是服务器端和用户沟通的程序,该程序运行在Web服务器上。是早期创建动态网页的主要方法。 网络上仍然有很多工具例如搜索引擎、留言板、BBS等都是 CGI 程序。 CGI可以为我们提供许多HTML无法做到的功能。如: a.一个记数器 (HTML无法做到) b.顾客信息表格的提交以及统计(HTML无法做到) c.搜索程序(Applet无法做到) d.Web服务器读写数据库服务器(Applet无法做到) 要把客户的信息记录在Web服务器的硬盘上,就要用到CGI。 这是CGI最重要的作用,它补充了HTML甚至Applet的不足。 通过使用CGI程序可读写Web服务器上的数据文件或DBMS服务器上的数据,来动态产生HTML结果。 11.1 CGI基础 CGI的工作原理 (1) 浏览器将URL的第一部分(host)解析并联系Web服务器; (2) 浏览器将URL的其余部分提供给Web服务器; (3) Web服务器将URL转换成路径和文件名; (4) Web服务器意识到URL指向一个程序(.cgi),而并非一个静态Web文档(.html); (5) Web服务器准备环境,执行CGI程序; (6) CGI程序执行,读取环境变量和STDIN; (7) CGI程序为将来的内容向STDOUT发送正确的MIME头信息; (8) CGI程序向STDOUT发送其输出的其余部分,然后终止; (9) Web服务器向浏览器发送Html脚本结果,之后关闭与浏览器的连接; (10) 浏览器根据Html脚本结果显示网页。 11.1 CGI基础 编写CGI的程序设计语言 CGI程序可以用几乎所有的程序设计语言编写,只要其编写的程序能在你的Web服务器上运行就可以. 它包括:C/C++、Delphi、Perl、Visual Basic、Java等。 在CGI产生早期,因为Perl语言具有强大的文本处理功能,Perl语言占据了CGI编程主要市场。 目前ASP、JSP技术的产生,对传统的CGI编程产生了重大冲击。 11.2 CGI接口规范 11.2.1环境变量 关于服务器自身信息的专有变量; 关于用户信息的变量; 关于用户请求的信息。 11.2 CGI接口规范 11.2 CGI接口规范 11.2.2 标准输入和标准输出 标准输入(STDIN) 当浏览器向服务器提出请求时(用POST方法),CGI命令文件接收的信息来自于命令文件的STDIN文件描述字。服务器通过此文件描述字,把传送给命令文件的字节数赋给CONTENT_LENGTH环境变量。CGI命令文件用此变量决定有多少来自STDIN的数据要进行处理。服务器同样把CONTENT_TYPE变量提供给CGI命令文件,以确定怎样处理这些数据。 11.2.2 标准输入和标准输出 标准输出(STDOUT) 当命令文件处理完服务器提供的输入数据后,把结果返回给服务器。为了向服务器输出数据,CGI命令文件把输出结果传递给STDOUT(标准输出设备)文件描述字。CGI命令文件返回给服务器的数据通常是一个HTTP响应,其格式为HTTP标准题头,后面是一个空行,接下来是余下的数据内容。一般来说,命令文件的输出结果是它生成的HTML文档。 11.2.3 URL编码与解码 HTTP1.0规范要求URL数据是一种能用于几乎任何硬件和软件平台的方式编码。按这种方法组织的信息被称为URL编码。 由服务器传给脚本的几乎任何东西都是URL编码的。 变量由符号隔开。脚本可以对整个串进行扫描,寻找符号。当找到一个时,脚本在该点断开串,将前面的内容作为一个变量。 11.2.4 MIME类型 MIME(Multipuose Internet Mail Extensions)是一种技术规范。它定义了七种在Internet上传送的基本数据类型:Text,Multipart,Message,Application,Image,Audio和Video。而这些类型有些又包含自己的子类型,如: 11.2.4 MIME类型 在实际操作中,MIME类型是这样被使用的: (1) 打开浏览器访问一个站点; (2) 浏览器向对方服务器发出请求,包括浏览器能处理的MIME类型; (3) 对方Web服务器返回给浏览器各种信息,及信息对应的MIME类型,以便于浏览器处理。 11.3 CGI的传送方式 GET方式 CGI程序从环境变量QUERY_STRING中获取数据。 POST方式 Web服务器通过STDIN向CGI程序传送数据。 HEAD方式 HEAD方法

文档评论(0)

1亿VIP精品文档

相关文档