⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgi跟我学.htm

📁 很经典的CGI编程入门读物
💻 HTM
📖 第 1 页 / 共 5 页
字号:
(脚本)</FONT></H1></CENTER><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B> 意思为 Common 
Gateway Interface, 一种基于浏览器的输入、在<A onclick="javascript:tagshow(event, 'Web');" 
href="javascript:;" target=_self><U><STRONG>Web</STRONG></U></A>服务器上运行的程序方法. <B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本 
使你的浏览器与用户能交互,为了在数据库中寻找一个名词, 提供你写入的评论,或者从一个表单中选择几个条目并且能得到一个明确的回答. 
如果你曾经遇到过在web上填表或进行搜索, 你就是用的<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本. 
你那时也许没有意识到,因为大部分工作是在服务器上运行的,你看到的只是结果. 
<P>作为一个网页设计者, 你创建客户端的 <B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本, 
服务器端的程序用来处理用户输入, 结果返回给用户. </P>
<P>在这里你将学习关于<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本的一切: </P>
<UL>
  <LI><B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本是什么?它是怎样工作的
  <LI>一个<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本输出象什么?
  <LI>怎样用参数或无参数创建一个<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本
  <LI>怎样创建一个返回规定响应的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本
  <LI>怎样创建一个输入表单的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本
  <LI>有关在使用<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本中的问题
  <LI>你能在脚本中使用的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>变量</LI></UL>
<HR align=center>
<NOTE></NOTE>
<P>本章节假设在UNIX系统下的。 <SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客#_q^T g:F 
k:Z)D't</SPAN><BR><SPAN 
style="DISPLAY: none">北京大学软件与微电子学院超级博客0Y4D+|9@-M.R4|</SPAN><BR></P>
<HR align=center>

<CENTER>
<H3><A id=I3 name=I3 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+1><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本是什么?</FONT></B></H3></CENTER><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本简单地讲是个运行在Web服务器上的程序, 
有浏览器的输入触发. 这个脚本通常象服务器和系统中其他程序如数据库的桥梁。 
<P><B style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B> 
脚本难道不是一个真正的脚本?按照你的服务器的支持, 他们可能是一个编译好的程序或者批命令文件或者其他可执行的东西. 
为了简单起见,我们统称他们为脚本scrīpts. <BR><SPAN 
style="DISPLAY: none">6p-ETP"f"Z3[*S0</SPAN> </P>
<HR align=center>
<NOTE></NOTE>
<P><B style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B> 
脚本是任何运行在web服务器上的程序. <B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>意思是Common 
Gateway Interface。 <BR><SPAN style="DISPLAY: none">4{.GIRbQ0</SPAN> </P>
<HR align=center>

<P></P>
<CENTER><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本是用下列两种方法使用的: 
作为一个表单的ACTION 或 作为一个页中的直接link。 </CENTER>
<CENTER>
<H4><A id=I4 name=I4 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本是怎样工作的?</FONT></B></H4></CENTER><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本有服务器调用, 
基于浏览器的数据输入. 图1 显示在浏览器、服务器和脚本之间是怎样的一个流程. 
<P><B><A href="http://www.onlinechina.net/source/iNetSchool/cgi19twp01.gif" 
_base_href="http://www.jdon.com/idea/cgi.htm">图1. 从浏览器到服务器到脚本到程序</A> 记住再回来噢!</B> 
</P>
<P>这有个简短的示意解释: </P>
<OL>
  <LI>一个URL指向一个<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本. 一个<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本的URL能如普通的URL一样在任何地方出现。
  <LI>服务器接收请求, 按照那个URL指向的脚本文件(注意文件的位置和扩展名),执行脚本.
  <LI>脚本执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序.
  <LI>脚本产生某种Web服务器能理解的输出结果.
  <LI>服务器接收来自脚本的输出并且把它传回浏览器,让用户了解结果。</LI></OL>
<CENTER>
<H4><A id=I5 name=I5 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0>一个简单的例子</FONT></B></H4></CENTER>这里详细一步一步地解释所有有关发生的细节。 <SPAN 
style="DISPLAY: none">北京大学软件与微电子学院超级博客j'R8Lrj?</SPAN><BR>图2: <SPAN 
style="DISPLAY: none">北京大学软件与微电子学院超级博客0\U[yO E1yQX/i9t8C</SPAN><BR><IMG 
height=265 alt="19twp02.gif (19771 字节)" src="CGI跟我学.files/19twp02.gif" width=504 
_base_href="http://www.jdon.com/idea/cgi.htm"> 
<P>Display Date处是个指向<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本的连接. 
它的HTML是这样的: </P><PRE>&lt;A HREF="http://www.popchina.com/<B style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin/getdate"&gt;Display the Date&lt;/A&gt;</PRE>说明是个<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本是因为这里面有个<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin的路径. 
在许多服务器<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin是仅能够放置<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本 的目录. 
<P>当你选择这个连接时, 你的浏览器将向www.popchina.com服务器提出请求. 服务器接收这个请求计算出URL处的脚本文件名然后执行这个脚本. 
</P>
<P>这个getdate脚本, 在UNIX系统中执行是这样的: </P><PRE>#!/bin/sh<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客
b8O*Q(?e,p`Su</SPAN><BR><BR><SPAN style="DISPLAY: none">wq4^C/u0</SPAN><BR><SPAN style="DISPLAY: none">Ci
r;ycX0</SPAN>echo Content-type: text/plain<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客x)LznO:F9C1Dc._*o</SPAN><BR><BR><SPAN style="DISPLAY: none">K9["A3oX:lZ8~0</SPAN><BR><SPAN style="DISPLAY: none">9c2\)v,f5Y0</SPAN>echo<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客Fm#bGp9PB</SPAN><BR><BR><SPAN style="DISPLAY: none">?sr/X	li8\'l9m0</SPAN><BR><SPAN style="DISPLAY: none">`[kE!klC0</SPAN>/bin/date</PRE>第一行是个特殊的命令,告诉UNIX系统这是个shell脚本; 
真实的情况是从这行开始的下一行,这个脚本做两件事:它输出行Content-type: text/plain, 接着开始一个空行;第二, 
它调用UNIX系统时间date程序, 这样输出日期和时间. 脚本执行后输出应该这样: <PRE>Content-type: text/plain<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客1o/M}kW
X)B)dXq</SPAN><BR><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客`2D3M+p(~$z</SPAN><BR><BR><SPAN style="DISPLAY: none">$uV^
E+Pb7xv
K-V0</SPAN>Tue Oct 25 16:15:57 EDT 1994</PRE>这个Content-type是什么东东?它是个特殊的编码,Web服务器用来告诉浏览器输出这个文本是什么类型的. 
这与HTML中Content-type含义是一样的。 
<P>这样浏览器的输出就如图3. </P>
<P><IMG height=190 alt="19twp03.gif (14868 字节)" src="CGI跟我学.files/19twp03.gif" 
width=502 _base_href="http://www.jdon.com/idea/cgi.htm"> </P>
<P></P>
<CENTER>这是最基本的,实际情况要复杂得多,总之可以用来理解浏览器、服务器和脚本之间是怎样工作的。 </CENTER>
<CENTER>
<H3><A id=I6 name=I6 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+1>我能用<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本吗?</FONT></B></H3></CENTER>在你使用<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本之前,有两件事你也许要解决:<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本 
是个高级的Web特性并且需要你和Web&nbsp; 服务器管理者一样好的知识。 
<P></P>
<CENTER>肯定吗?就是做不到,学学也可以?好吧!让我们继续. </CENTER>
<CENTER>
<H4><A id=I7 name=I7 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0>你的服务器<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(160,255,255)">配置</B>允许<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本吗?</FONT></B></H4></CENTER>为了能写和运行<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本, 你需要一个Web服务器. 
不象通常的HTML文件, 你不能在本地系统上写或试验你的<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本; 
你得通过Web服务器来做这个. 
<P>但是即使你有一个Web服务器, 这个服务器必须特别地为运行<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(160,255,255)">配置</B>一下. 
那意味着你所有的脚本必须放置在一个叫做<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin的目录下. </P>
<P>在编写<B style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本之前, 
询问你的服务器管理者是否允许你安装和运行<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本, 
并且如果可以的话,他们必须放置在哪儿?还有,你必须有个真正的Web服务器,如果是FTP或Gopher服务器,那你就不能用<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>. </P>
<P>如果你在自己的服务器上运行, 你必须特别地创造一个叫<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin的目录,并<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(160,255,255)">配置</B>你的服务器认可这个目录为一个脚本目录. 
也必须记住下面有关<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本特点: </P>
<UL>
  <LI>每个脚本是个程序, 它运行在浏览器可以请求的系统上, 执行时使用CPU时间和内存. 
  如果有成打上千的这些脚本同时运行,会怎样?你的系统将不忍负载直至崩溃。
  <LI>如果你不仔细地编写你的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本, 
  你将有可能让别人通过你的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本参数进入伤害你的系统.</LI></UL>
<CENTER>
<H4><A id=I8 name=I8 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0>你会编程吗?</FONT></B></H4></CENTER>
<CENTER>初学者注意! 一般地, 你必须具备一些基本编程概念与方法。你必须有类似系统工作的经验。如果你没有这些背景, 你必须去学习,好了,费话不多说. 
</CENTER>
<CENTER>
<H4><A id=I9 name=I9 _base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0>你必须用什么编程语言?</FONT></B></H4></CENTER>你可以用你熟悉的任何语言编写<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -