利用Perl开发Internet/Intranet应用之二

简介: 利用Perl开发Internet/Intranet应用之二 ----3 图形文件的处理 ----虽然client经常向服务器申请的都是text/html文件,但是服务器也可以回送GIF、JPG等图形文件,我们只需在数据的header中指明即可。

利用Perl开发Internet/Intranet应用之二

---- 3 图形文件的处理

----虽然client经常向服务器申请的都是text/html文件,但是服务器也可以回送GIF、JPG等图形文件,我们只需在数据的header中指明即可。假如我们用< imgsrc="http://10.0.0.1/Scripts/te.pl" >语句调用CGI程式,向服务器申请一个GIF文件,则服务器收到请求后会以二进制码的形式回送一个GIF的图形文件给client。te.pl源程序如下:


#!/bin/Perl
#如果该路径已加入PATH中,上句可省
$MY_FILE_NAME='c:/InetPub/wwwroot/photo/1.gif';
#图形文件存放的路径
$CHUNK_SIZE=4096;
#如果图形文件较大,该值可相应取大一些

#header
print"HTTP/1.0200OK\n";
print"Content-type:image/gif\r\n";
print"\r\n";
#如果传输的图形文件为JPG文件,
只需把"image/gif"改为"image/jpeg"

open(MY_FILE,"< $MY_FILE_NAME")
ordie("Can'topen$MY_FILE_NAME:$!\n");
binmode(MY_FILE);
binmode(STDOUT);
#设置传输模式为二进制代码
while($cb=read(MY_FILE,$data,$CHUNK_SIZE))
{
print$data;
}
close(MY_FILE);


---- 4 如何实现服务器重导

----服务器重导也就是ServerRedirection。我们不但可以利用CGI程式产生虚拟文件,还可以要求服务器送出一个已经存在的文件(该文件可以是本服务器的,也可以是网上任意的页面),这就是服务器重导。详见下图:


1请求2
------ >---- >
4服务器重导3
client< ------server
< ----CGI(Application)
5产生虚拟文件
< ----

----做法是:在CGI程式中不要header(即不要print"HTTP/1.0200OK\n";print"Content-Type:text/html\n\n";这两行)和多加一行print"Location:http://***","\n\n";即可。(http://***为任意的url地址)

----源程序为:

----#!/bin/perl
----print"Location:http://***","\n\n";

----另外,可用JavaScriptForclient的语句书写,但含重导语句的页面需先出现,会有闪烁的效果。附程式如下:

< Script >
Location.href="http://***";
< /Script >
相关文章
|
7月前
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
1263 1
|
8月前
|
网络协议 网络性能优化 网络架构
计算机网络知识和TCPIP常见问题
计算机网络知识和TCPIP常见问题
81 0
Internet基础
7.3 Internet基础 简单地说,Internet主要是指通过TCP/IP协议将世界各地的网络连接起来,实现资源共享、信息交换,提供各种应用服务的全球性计算机网络,它是全球最大的、开放式的、由众多网络互连而成的计算机网络。 7.3.1 Internet的起源与发展 Internet是在美国较早的军用计算机网ARPANet的基础上经过不断发展变化而形成的,其起源主要可分为以下几个阶段: Internet的维形形成阶段: 1969年,美国国防部高级研究计划局 (ARPA) 开始建立一个命名为ARPANet的网络,当时建立这个网络只是为了将美国的几个军事及研究用电脑主机连接起来。人们普遍
|
缓存 网络协议 安全
CCNA 必备:Linux 网络基础知识入门及 tcp 协议
一、交换机的弊端及优化方法 二、网络分层 三、TCP/IP协议栈 四、TCP/IP分层 五、TCP协议特性 六、TCP包头
CCNA 必备:Linux 网络基础知识入门及 tcp 协议