CGI教程(3)怎样发回文档给客户端
日期:2007年6月23日 作者: 查看:[大字体 中字体 小字体]-
怎样发回文档给客户端
对于CGI的初学者,一个公共的错误是没有正确格式化输出,这样服务器不能解释它。
CGI程序可以返回各种文件类型。它们可以返回给客户端一张图片、HTML文档、明文文档或者可能是一个音频夹。它们同样可能返回其它文档给引用。客户端必须知道哪种类型的文档你要发送,这样它就可以相应地将它显示出来。为了让客户端知道这个,CGI程序必须通知服务器哪种类型的文档将被返回。
为了通知服务器哪种类型的文档你想送回,而不管这个文档是一个完整的文档或者一个引用,CGI要求你放置一个短的数据头到输出中。这个数据头是一个ASCII文本,它包含了被linefeeds 或者 carriage返回的行,其后还跟着一个空白行。
在本例子中,你必须通过一个MIME类型通知服务器什么类型的文档你要输出。公共的MIME类型是一些比如html/text以及ASCII文本。
比如,为了返回HTML给客户端,你的输出代码为:
Content-type: text/html
<HTML><HEAD>
<TITLE>output of HTML from CGI script</TITLE>
</HEAD><BODY>
<H1>Sample output</H1>
What do you think of <STRONG>this?</STRONG>
</BODY></HTML>
如果不输出文档,你可以只通知浏览器哪儿可以得到这个新文档或者让服务器自动为你输出新的文档。
比如,假如你想从Gopher服务器中引用一个文件。折中情况,你应该知道你想引用和输出的完整的URL,代码如下:
Content-type: text/html
Location: gopher://httprules.Foobar.org/0
<HTML><HEAD>
<TITLE>Sorry...it moved</TITLE>
</HEAD><BODY>
<H1>Go to gopher instead</H1>
Now available at
<A HREF="gopher://httprules.foobar.org/0">a new location</A>
on our gopher server.
</BODY></HTML>
但是,现在的浏览器很是聪明,它会自动将新文档显示给你而不会看到上面的内容。如果不想输出上面的HTML,NCSA HTTPd会为你输出一个缺省的文档来支持旧的浏览器。
如果你想引用你自己服务器上另外文件(没有受到返回验证的保护),你不必做太多的工作,而只需要输出一个不完全的URL,代码如下:
Location: /dir1/dir2/myfile.html
这时服务器就会认为客户端没有请求你的脚本,而是请求http://yourserver/dir1/dir2/myfile.html。你要注意文件类型以及数据头对不对。
如果你想引用一个受到访问验证保护的文档,你就不得不键如完整的URL,因为客户端和服务器需要重新处理来建立你访问引用文档的连接。
(出处:网侠)
- [1]
-
- CGI教程(3)怎样发回文档给客户端 相关文章:
- ·CGI教程(3)怎样发回文档给客户端
- CGI教程(3)怎样发回文档给客户端 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:CGI教程(1)简介
精品推荐
热点TOP10
- ·Perl实例:
- ·Linux系统环境下的Socket编程详细解析
- ·Perl的简单语法(与C语言语法的异同)
- ·Perl 语言全面编译
- ·perl与Mysql连接
- ·快速开始Perl XML:接口篇
- ·如何用PERL编写聊天室服务器程序
- ·Perl教学 第十三篇 Perl的面向对象编程
- ·系统比对[oscmp.pl]
- ·用 Perl 进行 GNOME 编程
- ·Perl命令行应用介绍
- ·PERL里正则表达式的简介
- ·Perl教学 第五篇 文件读写
- ·Perl教学 关联数组(哈希表)
- ·CGI 安全问题详解与说明(二)
- ·CGI简明教程第六章
- ·perl模块安装方法
- ·windows下Perl开发环境的安装和配置
- ·什么是CGI
- ·CGI的安全(一)
