| 发表于:2007-12-20 16:01:54 楼主 |
服务器响应请求-实施:graphics文件、word文档、html文件、可执行文件以及cgi脚本文件,如此众多的文件类型,web服务器是如何区分的呢?实际上,服务器采用不同的方式区分不同的文件类型。 iis根据文件的扩展名区分文件类型(.asp、.htm、.exe等),如同windows浏览器一样,windows浏览器中双击一个文件或图标时,它在注册表中查找文件扩展名,注册表是一个特殊的数据库,存放有系统信息和应用软件的信息,在注册表中,每一个注册的文件扩展名都有一个入口,每一个扩展名有一个相关的文件类型入口。同样,每一个文件类型入口都有一个相关的可执行文件或文件处理程序。服务器从文件名中提取文件扩展名,在相关的文件中进行查找,然后发送这个程序,iis采用相同的步骤响应请求。 其他的web服务器也采用文件扩展名决定如何处理文件请求,但是他们不使用注册表。相反,他们使用单独文件(程序扩展名关联)列表。这些列表中的条目称为mime(多用途因特网邮件扩展名)类型,因为电子邮件程序需要知道包含有消息的内容类型。每一个mime类型就像注册表一样,与一个特殊的行为或程序有关,web服务器与所请求的文件扩展名相匹配的条目在列表中进行搜索。 大多数web服务器采用将文件下载到本地后处理不匹配的文件扩展名,如果所请求的文件不包括文件名,有些服务器也提供默认的方法。在这种情况下,大多数服务器试图返回一个默认的文件名清单,一般为该服务器的default.htm或index.htm,也可以为文件配默认的文件名(使用iis完成)。要么为该服务器上所有虚拟目录(virtual directories)设置全局名,要么为服务器上每一个虚拟目录设置一个名称。 服务器可以按照产生响应的步骤依次发送响应信息,也可以将整个响应放在缓冲器中,等响应完成后一次性发送。响应消息分为两部分:响应头和响应体。响应头包含响应的类型信息,以及下列信息; 1、 响应代码 2、 响应的mime类型 3、 响应失效的日期和时间 4、 重定向url 5、 服务器希望在客户机上存储的任意cookie值 cookie是浏览器存放在客户机的硬盘上或内存中的文本串,它可以在整个浏览器对话过程中存在,或者在达到规定期限时结束,在请求站点之后,浏览器把与该站点有关的信息发回给服务器。 说明:在媒体中,有许多关于cookie的说法,有的人非常害怕,以至于把服务器设置成“turn off cookie”,这就意味着服务器不接受cookie,而且在很大程度上影响站点的运作,因为必须有与单个浏览器对话进行联系的一些方法,在应用中,这个浏览器对话常有存在服务器层中的数值,现在不使用cookie的方法,很不方便,而且不能使用浏览器存放在服务器中的数据。 本文来自: (www.obpo.com) 详细出处参考:http://bbs.obpo.com/ |
|
|
|
|