*.pif为DOS环境下的可执行
文件在Windows下执行时所需要的
文件格式★常见的文件后缀名.ACA:Microsoft的代理使用的角色文档.acf:系统管理配置.acm:音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能.aif:声音文件,支持压缩,可以使用WindowsMediaPlayer和QuickTimePlayer播放.AIF:音频文件,使用WindowsMediaPlayer播放.AIFC:音频文件,使用WindowsMediaPlayer播放.AIFF:音频文件,使用WindowsMediaPlayer播放.ani:动画光标文件扩展名,例如动画沙漏。.ans:ASCII字符图形动画文件.arc:一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开.arj:压缩文件。可以使用WinZip,WinRAR,PKARC等软件打开.asf:微软的媒体播放器支持的视频流,可以使用WindowsMediaPlayer播放.asp:微软的视频流文件,可以使用WindowsMediaPlayer打开.asp:微软提出的ActiveServerPage,是
服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。可以使用VisualInterDev编写,是目前的大热门.asx:WindowsMedia媒体文件的快捷方式.au:是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件WaveformHoldandModify播放。NetscapeNavigator中的LiveAudio也可以播放.au文件.avi:一种使用MicrosoftRIFF规范的Windows多媒体文件格式,用于存储声音和移动的图片.bak:备份文件,一般是被自动或是通过命令创建的辅助文件,它包含某个文件的最近一个版本,并且具有于该文件相同的文件名.basBasic:语言源程序文件,可编译成可执行文件,目前使用Basic开发系统的是VisualBasic.bat:批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用.bbs:电子告示板系统文章信息文件.bfc:Windows的公文包文件.bin:二进制文件,其用途依系统或应用而定.bmp:Bitmap位图文件,这是微软公司开发Paint的自身格式,可以被多种Windows和WindowsNT平台及许多应用程序支持,支持32位颜色,用于为Windows界面创建图标的资源文件格式。.c:C语言源程序文件,在C语言编译程序下编译使用.cab:Microsoft制订的压缩包格式,常用于软件的安装程序,使用Windows自带的实用程序,Extract.exe可以对其解压缩,WinZip,WinRAR等都支持这种格式.cal:Windows中的日历文件.cdf:InternetExplorer的频道文件.cdr:CorelDraw中的一种图形文件格式,它是所有CorelDraw应用程序中均能够使用的一种图形图像文件格式.cdx:索引文件,存在于Dbase,Foxbase,Foxpro系统软件环境下.cfg:配置文件,系统或应用软件用于进行配置自己功能,特性的文件.chm:编译过后的HTML文件,常用于制作帮助文件和电子文档.clp:在Windows下剪贴板中的文件格式.cmd:用于WindowsNT/2000的批处理文件,其实与BAT文件功能相同,只是为了与DOS/Windows9x下的BAT有所区别.cmf:声卡标准的音乐文件,FM合成器等可以回放.cnf:NetMeetting会议连接文件.cnt:联机帮助文件目录索引文件,通常和同名的.hlp文件一起保存.col:由AutodeskAnimator,AutodeskAnimatorPor等程序创建的一种调色板文件格式,其中存储的是调色板中各种项目的RGB值.com:DOS可执行命令文件,一般小于64KB.cpl:控制面板扩展文件,Windows操作系统使用.cpp:C++语言源程序,非常强大的语言,在各种平台中都有相应的开发系统.crd:Windows中的卡片文件.crt:用于安全方面的证书认证文件.cur:Windows下的光标资源文件格式,可用光标编辑软件编辑.css:Text/css文件.dat:数据文件,在应用程序中使用.dat:VCD中的图象声音文件,VCD播放软件可调用,或是通过VCD机播放.dbf:数据库文件,Foxbase,Dbase,VisualFoxPro,等数据库处理系统所产生的数据库文件.dcx:传真浏览文档文件.ddi:映象文件,DUP,HD,IMG等工具可.dev:设备驱动程序.dib:设备无关位图文件,这是一种文件格式,其目的是为了保证用某个应用程序创建的位图图形可以被其它应用程序装载或显示一样.dir:目录文件.dll:Windows动态连接库,几乎无处不在,但有时由于不同版本DLL冲突会造成败各种各样的问踢.doc:是目前市场占有率最高的公室软件MicrosoftOffice中的字处理软件Word创建的文档.dos:Windows保留的MS-DOS的某些系统文件.dot:MicrosoftWord的文档模板文件,通过模板可以简化一些常用格式文档的创建工作,而且可以内嵌VBA程序来实现某些自动化功能.drv:设备驱动程序文件,用在各种系统中.dwg:AutoCAD的图纸文件,也是许多绘图软件都支持的格式,常用于共享数据.dxb:AutoCAD创建的一中图形文件格式.dxf:图形交换格式,一种计算机辅助设计的文件格式,最初开发用来与AutoCAD一起使用,以便于图形文件在应用程序之间的传递,它以ASCII方式储存图形,在表现图形的大小方面十分精确.der:Certiticate文件.dic:Txt文件.emf:由Microsoft公司开发的Windows32位扩展图元文件格式,其总体设计目标是要弥补在MicrosoftWindows3.1(Win16)中用的*.wmf文件格式的不足,使得图元文件更加易于使用.eps:用PostScript语言描述的一种图形文件格式,以文本文件保存,在PostScript图形打印机上能打印出高品质的图形图象,最高能表示32位图形图象.err:编译错误文件,存在于Dbase,Foxbase,Foxpro系列软件环境下.exe:可执行文件,虽然后缀名相同,但具有不同的格式和版本.exp:3DS使用的显示卡驱动程序.exc:Txt文件.flc:AutodeskAnimator和Animatorpro的动画文件,支持256色,最大的图象象索是64000*64000,支持压缩,广泛用于动画图形中的动画序列,计算机辅助设计和计算机游戏应用程序.fnd:保存的搜索结果.fon:点阵字库文件.for:Fortran语言程序.fot:指向字体的快捷键.fp:配置文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.fpt:备注字段文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.frt:报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.frx:报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.fxp:编译后的程序,存在于Dbase,Foxbase,Foxpro系列软件的环境下.gif:在各种平台的各种图形处理软件上均能够处理的,经过压缩的一种图形文件格式.grh:方正公司的图象排版文件.grp:Windows下的程序管理器产生的组窗口文件.goc:Gocserve.gra:MSGraph.Chart.5.h:C语言源程序头文件.hlp:Windows应用程序帮助文件.hqx:Macintosh中使用BinHex将二进制文件编码为7位的文本文件,大多数Macintosh文件皆以.hqx出现(.bin极少使用),在Macintosh中,可使用StuffItExpander对.hqx解码,在Windows中可使用BinHex13解码.ht:超级终端.htm:保存超文本描述语言的文本文件,用于描述各种各样的网页,使用各种浏览器打开.html:同.htm文件.icm:图象配色描述文件.ico:Windows中的图标文件,可以包含同一个图标的多种格式,使用图标编辑软件创建.idf:MIDI乐器定义.idx:索引文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.iff:文件交换格式文件,这种文件格式多用于Amiga平台,在这种平台上它几乎可以存储各种类型的数据,在其它平台上,IFF文件格式多用于存储图象和声音文件.image:MAcintosh磁盘映象文件,常见于萍果机的FTP网点,在Macintosh中由ShrinkWrap处理.ime:Windows下的输入法文件.img:磁盘映象文件,用HD-COPY,WinImage等工具打开后可以恢复到一张磁盘上.inc:汇编语言包含文件,类似C/C++中的.H文件.inf:Windows下的软件安装信息,Windows的标准安装程序根据此文件内的安装信息对软件,驱动程序等进行安装.ini:Windows中的初始化信息文件,已经用的不多了,新的应用程序将设置保存在系统的注册表中.jar:一种压缩文件,ARJ的新版本,不过不太流行,可以使用WinJar,Winrar等打开.jpeg:一种图片压缩文件,同.jpg.jpg:静态图象专家组制订的静态图象压缩标准,具有很高的压缩比,使用非常广泛,可使用PhotoShop等图象处理软件创建.lnk:快捷方式,这个文件指向另一个文件,开始菜单的程序文件夹下每条项目都是一个LNK文件.log:日志文件,通常用来记录一些事件之类.lzh:一种古老的压缩文件,可以使用WinRAR打开.mac:Macintosh中使用的一中灰度图形文件格式,在MacintoshPaintbrush中使用,其分辨率只能是720*567.mag:图形文件格式.mdb:MicrosoftAccess使用的数据库格式,是非常流行的桌面数据库.men:内存应用文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.mid:音频压缩文件,曾经非常流行,不过在现在的软件中用的很少了rle:一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟的压缩方案,特点是无损失压缩,既节省了磁盘空间又不损失任何图像数据,但在打开这种压缩文件时,要花费时间,此外,一些兼容性不太好的应用程序可能会搭不开.rm:Windows下的RealPlayer所支持的视频压缩文件,网上非常流行的流式视频文件,很多实时视频新闻等都是采用这种格式的,不过,最新的WindowsMediaVideoV8已经对其发起了强大的攻势.rmi:MIDI音序文件.rtf:丰富文本格式文件,以纯文本描述内容,能够保存各种格式信息,可以用写字版,Word等创建.sav:存档文件.scp:用于Windows系统中Internet拨号用户,自动拨号登录用的脚本文件,可避免手动登录时繁琐的键盘输入.scr:屏障保护文件.sct:屏幕文件.scx:屏幕文件.set:Microsoft备份集文件,用于保存要备份的内容,设置等信息.shb:指向一个文档的快捷方式.snd:Mac声音文件,Apple计算机公司开发的声音文件格式,被Macintosh平台和多种Macintosh应用程序所支持,支持某些压缩.sql:查询文件,在Dbase,Foxbase,Foxpro系列软件的环境下使用.svg:SVG可以算是目前最火热的图像文件格式了,它是基于XML由WorldWideWebConsortium联盟开发的,SVG是可缩放的矢量图形.svx:Amiga声音文件,Commodore所开发的声音文件格式,被Amiga平台和应用程序所支持,不支持压缩.swf:flash是Micromedia公司的产品,严格说它是一种动画编辑软件,实际上它是制作出一种后缀名为.swf的动画,这种格式的动画能用比较小的体积来表现丰富的多媒体形式,并且还可以与HTML文件达到一种"水乳交融"的境界.swg:虚拟内存交换文件,由操作系统使用.sys:系统文件,驱动程序等,在不同的操作系统中有不同的定义5.1各种形状和尺寸的Web服务器
Web服务器会对HTTP请求进行处理并提供响应。术语“Web服务器”可以用来表示Web服务器的软件,也可以用来表示提供Web页面的特定设备或计算机。
Web服务器有着不同的风格、形状和尺寸。有普通的10行Perl脚本的Web服务器、50MB的安全商用引擎以及极小的卡上服务器。但不管功能有何差异,所有的 Web服务器都能够接收请求资源的 HTTP请求,将内容回送给客户端(参见图1-5)。
5.1.1Web服务器的实现
Web服务器实现了HTTP和相关的TCP连接处理。负责管理Web服务器提供的资源,以及对Web服务器的配置、控制及扩展方面的管理。
Web服务器逻辑实现了HTTP 协议、管理着Web资源,并负责提供Web服务器的管理功能。Web服务器逻辑和操作系统共同负责管理TCP连接。底层操作系统负责管理底层计算机系统的硬件细节,并提供了TCP/IP网络支持、负责装载Web资源的文件系统以及控制当前计算活动的进程管理功能。
5.3实际的Web服务器会做些什么
例5-1显示的 Perl服务器是一个Web服务器的小例子。最先进的商用Web服务器要比它复杂得多,但它们确实执行了几项同样的任务,如图5-3所示。
(1)建立连接一—接受一个客户端连接,或者如果不希望与这个客户端建立连接,就
将其关闭。
(2)接收请求——从网络中读取一条HTTP请求报文。(3)处理请求——对请求报文进行解释,并采取行动。(4)访问资源-———访问报文中指定的资源。
(5)构建响应——创建带有正确首部的 HTTP响应报文。(6)发送响应——将响应回送给客户端。
(7)记录事务处理过程—-将与已完成事务有关的内容记录在一个日志文件中。
5.4第一步——接受客户端连接
如果客户端已经打开了一条到服务器的持久连接,可以使用那条连接来发送它的请求。否则,客户端需要打开一条新的到服务器的连接(回顾第4章,复习一下HTTP的连接管理技术)。
5.4.1处理新连接
客户端请求一条到Web服务器的TCP连接时,Web服务器会建立连接,判断连接的另一端是哪个客户端,从TCP连接中将IP地址解析出来。'一旦新连接建立起来
并被接受,服务器就会将新连接添加到其现存Web服务器连接列表中,做好监视连接上数据传输的准备。
Web服务器可以随意拒绝或立即关闭任意一条连接。有些Web服务器会因为客户端IP地址或主机名是未认证的,或者因为它是已知的恶意客户端而关闭连接。Web服务器也可以使用其他识别技术。
5.4.2客户端主机名识别
可以用“反向 DNS”对大部分Web服务器进行配置,以便将客户端IP地址转换成客户端主机名。Web服务器可以将客户端主机名用于详细的访问控制和日志记录。但要注意的是,主机名查找可能会花费很长时间,这样会降低Web事务处理的速度。很多大容量Web服务器要么会禁止主机名解析,要么只允许对特定内容进行解析。
可以用配置指令HostnameLookups启用Apache的主机查找功能。比如,例5-2中的Apache配置指令就只打开了HTML和CGI资源的主机名解析功能。
例5-2配置Apache,为 HTML和CGI资源查找主机名
HostnameLookups off
<Files ~" - 《html |htmlcgi)$">
HostnameLookups on
</Files>
5.5第二步—接收请求报文
连接上有数据到达时,Web服务器会从网络连接中读取数据,并将请求报文中的内容解析出来(参见图5-5)。
解析请求报文时,Web服务器会:
·解析请求行,查找请求方法、指定的资源标识符(URI)以及版本号,3各项之
间由一个空格分隔,并以一个回车换行(CRLF)序列作为行的结束,“
·读取以CRLF结尾的报文首部
检测到以CRLF结尾的、标识首部结束的空行(如果有的话)﹔
·如果有的话(长度由content-Length首部指定),读取请求主体。
解析请求报文时,Web服务器会不定期地从网络上接收输入数据。网络连接可能随时都会出现延迟。Web服务器需要从网络中读取数据,将部分报文数据临时存储在内存中,直到收到足以进行解析的数据并理解其意义为止。
5.5.1 报文的内部表示法
有些Web服务器还会用便于进行报文操作的内部数据结构来存储请求报文。比如,数据结构中可能包含有指向请求报文中各个片段的指针及其长度,这样就可以将这些首部存放在一个快速查询表中,以便快速访问特定首部的具体值了(参见图5-6)。
5.5.2连接的输入/输出处理结构
高性能的 Web服务器能够同时支持数千条连接。这些连接使得服务器可以与世界各地的客户端进行通信,每个客户端都向服务器打开了一条或多条连接。某些连接可能在快速地向Web服务器发送请求,而其他一些连接则可能在慢慢发送,或者不经常发送请求,还有一些可能是空闲的,安静地等待着将来可能出现的动作。
因为请求可能会在任意时刻到达,所以Web服务器会不停地观察有无新的Web请求。不同的Web服务器结构会以不同的方式为请求服务,如图5-7所示。
·单线程Web服务器(参见图5-7a)
单线程的Web服务器一次只处理一个请求,直到其完成为止。一个事务处理结束之后,才去处理下一条连接。这种结构易于实现,但在处理过程中,所有其他连接都会被忽略。这样会造成严重的性能问题,只适用于低负荷的服务器,以及type-o-serve这样的诊断工具。
·多进程及多线程Web服务器(参见图5-7b)
多进程和多线程Web服务器用多个进程,或更高效的线程同时对请求进行处理。3可以根据需要创建,或者预先创建一些线程/进程。°有些服务器会为每条连接分配一个线程/进程,但当服务器同时要处理成百、上千,甚至数以万计的连接时,需要的进程或线程数量可能会消耗太多的内存或系统资源。因此,很多多线程Web服务器都会对线程/进程的最大数量进行限制。
·复用I/O的服务器(参见图5-7c)
为了支持大量的连接,很多Web服务器都采用了复用结构。在复用结构中,要同时监视所有连接上的活动。当连接的状态发生变化时(比如,有数据可用,或出现错误时),就对那条连接进行少量的处理,处理结束之后,将连接返回到开放连接列表中,等待下一次状态变化。只有在有事情可做时才会对连接进行处理,在空闲连接上等待的时候并不会绑定线程和进程。
·复用的多线程Web服务器(参见图5-7d)
有些系统会将多线程和复用功能结合在一起,以利用计算机平台上的多个CPU.多个线程(通常是一个物理处理器)中的每一个都在观察打开的连接(或打开的连接中的一个子集),并对每条连接执行少量的任务。
5.6第三步———处理请求
一旦Web服务器收到了请求,就可以根据方法、资源、首部和可选的主体部分来对请求进行处理了。
有些方法(比如POST)要求请求报文中必须带有实体主体部分的数据。其他一些方法(比如OPTIONS)允许有请求的主体部分,也允许没有。少数方法(比如GET)禁止在请求报文中包含实体的主体数据。
这里我们并不对请求的具体处理方式进行讨论,因为本书其余大多数章节都在讨论这个问题。
5.7第四步——-对资源的映射及访问
Web 服务器是资源服务器。它们负责发送预先创建好的内容,比如HTML页面或JPEG 图片,以及运行在服务器上的资源生成程序所产生的动态内容。
5.7.1 docroot
Web服务器支持各种不同类型的资源映射,但最简单的资源映射形式就是用请求URI作为名字来访问Web服务器文件系统中的文件。通常,Web服务器的文件系统中会有一个特殊的文件夹专门用于存放Web内容。这个文件夹被称为文档的根目录(document root,或docroot)。Web服务器从请求报文中获取URI,并将其附加在文档根目录的后面。
在图5-8中,有一条对/specials/saw-blade.gif 的请求到达。这个例子中Web服务器的文档根目录为/us/local/httpd/files。Web服务器会返回文件/usr/local/httpd/files/specials/saw-blade.gif。
在配置文件httpd.conf中添加一个 DocumentRoot行就可以为Apache Web服务器设置文档的根目录了:
DocumentRoot /usr/ local/httpd/files
服务器要注意,不能让相对URL退到docroot之外,将文件系统的其余部分暴露出来。比如,大多数成熟的Web服务器都不允许这样的URI看到Joe的五金商店文档根目录上一级的文件:
http://www.joes-hardware.com/ ..
5.8.3重定向
Web服务器有时会返回重定向响应而不是成功的报文。Web服务器可以将浏览器重定向到其他地方来执行请求。重定向响应由返回码3XX说明。Location响应首部包含了内容的新地址或优选地址的URI。重定向可用于下列情况。
·永久删除的资源
资源可能已经被移动到了新的位置,或者被重新命名,有了一个新的URL。Web服务器可以告诉客户端资源已经被重命名了,这样客户端就可以在从新地址获取资源之前,更新书签之类的信息了。状态码301 Moved Permanently就用于此类重定向。·临时删除的资源
如果资源被临时移走或重命名了,服务器可能希望将客户端重定向到新的位置上去。但由于重命名是临时的,所以服务器希望客户端将来还可以回头去使用老的URL,不要对书签进行更新。状态码303 See Other以及状态码307 TemporaryRedirect就用于此类重定向。
评论列表(0条)