Oraclewebserver中文介绍-第二章
发表于:2007-05-25来源:作者:点击数:
标签:第二章中文介绍
Oracle Web Listener?是一个高 性能 ,可伸缩, 可移植的 HTTP 服务器 ,支持要求迅速响应的的高流量的 Web 应用。 Oracle Web Listener专为实现企业 网络 或全球因特网上的分布式信息系统而设计. 从用户的角度看,Web 是一个文档或页面的集合,他们包含了文
Oracle Web Listener?是一个高
性能,可伸缩, 可移植的 HTTP
服务器,支持要求迅速响应的的高流量的 Web 应用。 Oracle Web Listener专为实现企业
网络或全球因特网上的分布式信息系统而设计.
从用户的角度看,Web 是一个文档或页面的集合,他们包含了文字,图象和指向其他页面的链接。通过点,单击并浏览这些链接,用户可以立即访问一个分布的信息系统。Oracle Web Listener 融合了信息检索和超文本技术来建立一个强大的全球信息系统。
Oracle Web Listener 工作在简单的客户机-
服务器模式下。客户端向 Oracle Web Listener 发出请求。Listener 通过读取URL来解释请求,找到或生成所请求的信息, 并将信息返回给通过表格进行请求的客户机。
在同一台机器上可以运行多个使用各自专有端口的 Oracle Web Listeners。使用多个 Web Listeners 是在多个不同应用之间平衡负载的好方法。
Oracle Web Listeners 与其客户端通讯所使用的语言是超文本传输协议(HTTP)。Web Listeners实现的是IETF HTTP工作组http://www.ics.uci.edu/pub/ietf/http/) 定义的HTTP协议的版本1.0。所有的Web客户端为了能收发超媒体文档,必须能讲HTTP协议。
HTTP协议是一种应用级的协议,轻便并能满足分布式的协同工作的超媒体信息系统所要求的速度。它是一种通用的,无状态的
面向对象的协议,通过扩展它的请求方法(命令)可以用于很多系统。
Oracle Web Listener 的特性
Oracle Web Listener 的配置参数
2.1 Oracle Web Listener 的特性
Oracle Web Listener 包含了一定数目的特性以在不同的环境下增强其
性能和扩展其使用能力。
High Performance Architecture 高性能的体系结构为使性能最大化,Oracle Web Listener 被设计为作为通过带单线索的单进程运行的的异步引擎,与大多数HTTP服务器不同,他们每建立一个新连接就启动
一个新进程或线程。这显著地减少了服务一个请求所要求的时间,降低了监听机资源的使用,如果是在重负载下提供高性能的话。
File Caching in Memory 文件内存缓存Oracle Web Listener 允许在内存中缓存一个可配置的经常存取的文件集。当这些文件被客户端访问时,将能提供很好的性能。
在当前版本的Oracle Web Listener 中,进行内存缓存的文件列表由WebServer管理员决定并能手工配置。管理员应定期分析监听程序日志以决定那些文件性缓存并相应的修改设置。
Memory Mapping of Files 文件内存映射在支持此特性的操作系统上,文件被访问时,Oracle Web Listener 自动将他们映射到内存地址上(除非他们被永久的缓存在内存中了)。这种情况下,文件将象是从内存中加载的,允许多于一个连接访问同一文件而避免重复读取磁盘。另外,操作系统通常在前一段传输后,预读内存缓存文件的下一段,所以即使是单一连接的情形下,也能进一步提高性能。Directory Mapping 目录映射Oracle Web Listener 支持将在Web上外部表现在URL中的路径名映射到Web Listener 机器上的内部位置。这使得即使Web Listener的磁盘被重新规划了,对客户端仍是一致的。外部可见(虚拟)目录到本地文件系统中的物理目录的指定映射是管理员可配置的。
例如:URL
http://www.acme.com/products/info.html
可以映射为系统 www.oracle.com 的目录 /disk1/ products:
/disk1/products/info.html
如果一次重组时,将目录 products 移到 /disk3, 管理员在Web listener 配置文件(owl.cfg), 中重新配置虚目录 products 指向新位置 /disk3/products,而Web客户则完全不知道这一改变.
注意:Web Listener需要重新载入以识别改动。有关重启Web Listener的信息,见本章后面的"Web Listener Control Utility" 。
Language Extensions 语言扩展名
Oracle Web Listener支持文件按照不同的字符集存储以适应所使用的语言。Web Listener可以解释文件扩展名以得出文件中数据的类型(如HTML数据)和文件是以何种语言写的。语言影射特性有管理员控制,并允许客户端访问以与不同的语言相应的字符集书写的文件。
指定的文件扩展名与语言和数据类型的影射关系有Web Listener配置文件控制。
HTTP Protocol Negotiation Features HTTP协议协商特性
HTTP的特点之一是客户端和HTTP服务器交换有关他们能传输和能解释的数据类型的信息。这些协商特性允许使用不同的数据类型和语言构造系统。
当一个Web客户机请求一个对象时,它可以指定它能接收何种类型的数据并表示指定类型的配置。 Web Listener可以用此信息发出相应格式化的数据到客户机,如果 Web Listener上储存着不止一种格式的话。这一过程叫作HTTP类型协商,OWL完全支持它。例如,文档中包含行中的图象,它可以以或者gif或者JPEG的格式传输到Web客户端。
Oracle Web Listener 也支持类似的概念来协商文挡应以哪种语言显示给特定的用户。 文档可能以多种语言存储(例如英语和加拿大法语),如果客户端表明了配置将发送适宜的文档拷贝给他。这极大简化了多语站点以的维护,因为不需要为不同的语言维护重复的URL或分离的目录。
Common Gateway Interface 通用网关接口 (CGI)
通用网关接口(CGI)版本1.1是HTTP服务器用以执行一个程序产生HTML输出的标准技术。这种技术提供了动态内容而不是来自磁盘文件的静态内容。Oracle Web Listener与CGI 1.1完全兼容。
当一个请求进来而Web Listener识别出该请求将执行一个CGI应用,将创建一个单独的进程执行这一操作。Web Listener与该进程保持通讯,将Web客户端的输入传过去,检索其生成的用于客户端屏幕显示的HTML输出。
Web Listener管理员可以配置指定的目录以包含CGI程序用以运行而不是传输文件。这些都可以用Web Listener配置文件来做到。有关WEb Listener配置文件,参见本章后面的"Configuration Parameters,"。
CGI Application Execution CGI程序执行
当客户端向Oracle Web Listener发出一个URL请求,URL的路径部分被分析以决定它是否代表一个包含文件的目录(通常情况下)。 这些文件被立刻发给客户端,对于包含CGI应用程序的目录,有时被作为脚本引用,他们必须被作为单独的程序执行以生成发往客户端的输出。
CGI应用执行技术是Web的关键特性之一。它允许多个信息源的集成。 Oracle Web Agent即是一种可用此项技术访问的的CGI应用。
一旦监听程序发现URL代表一个CGI应用,它将解释此URL并分解出路径信息和参数,传给正在启动的CGI应用。
CGI程序的URL可分为3部分:
virtual path 虚拟路径
extra path information 另外的路径信息
query string 查询字符串
The syntax is as follows: 语法如下:
virtual_path extra_path_information?query_string
virtual path
虚拟路径 模拟一个你用于访问常规文档或图象的路径。就是说,它为服务器指向一个含有你想执行的CGI程序的文件。
extra path information
另外的路径信息 你将在URL中附加在程序名后面的额外信息。另外的路径信息是一个可选项。它可以用于传递常量信息给那些依赖客户端输入的脚本。它也可以用于访问服务器的虚拟-物理路径的转换机制。
query string
查询字符串 是URL的另一个可选项。它既可以显式地由超文本锚给出,也可以是来自用户在带ISINDEX标记的HTML文件中的搜索对话框中的输入,或者来自HTML表格。
来自URL或其他资源的用户输入 当数据在搜索对话框或文本输入表格中输入时,数据将使用URL encoding进行编码。此编码依据以下规则编码:
空格变成加号+
任何一个字符都可以转义为%xx格式的序列,其中 x 是十六进制数字。字符由转换两位十六进制数成的代表字符的0-255的数字表示。
如果来自一个由ISINDEX标记的搜索对话框结果,以上的转换将直接进行。另外,如果你想避免自己进行次转换,你的CGI程序可以在命令行上接收已完全转换的信息。
如果数据来自HTML表格,数据变量的位置依赖于你的HTML文档中表格标记中指定的方法属性。如果使用GET方法,这些信息来自变量QUERY_STRING。如果使用POST方法,这些信息使用标准输入发送给你的程序。
数据以此格式提供:
name1=value1&name2=value2.....&nameN=valueN
如果在编码后的数据中有任何等号(=)或与号(&),他们被使用以上规则编码。为了正确地解码数据,NAME=VALUE对不应被分割直至与号,每个对应分为名称和值,URL编码将对每一个对进行。
当表格提交时,你通常使用表格项出现的顺序来决定你的CGI程序接收NAME=VALUE对的顺序。然而你不能依赖这种行为。不同的表格元素有他们自己的方式来决定什么值将和他们给定的名字相联系。所有文本性的输入区使用用户的键入作为值。
Radio button圆型钮使用使能钮的值
Checkboxes检查框不打叉时,他们或者使用空字符串或者他们的名字根本不在加密表格数据中出现。隐藏的表格项可以用于发送常量或状态信息给你的脚本。
Imagemap Support图形映射的支持
Oracle Web Listener的图形映射特性允许发送给客户端的显示图形有多个链接区,用户点中图形的不同位置将进行不同的超级链接。例如一个世界地图,允许用户通过点击来选择国家。图形映射的使用在sophisticated站点中十分普遍。
Oracle Web Listener在Web Listener中包含图形映射的内部处理。很多其他的HTTP服务器要求在解释图形映射时,创建一个独立的进程。通过内部完成这些,在这一HTML的常见特点被用到时,Oracle Web Listener提高了性能并降低了系统资源的使用。
Domain Name Server (DNS) Resolution域名服务器(DNS)解析
当客户端向HTTP服务器请求一个URL时,客户机的网络地址(IP地址)被服务器登记且可以用来控制对HTTP服务器上的文件的访问权限。域名系统(DNS)将客户机的网络地址转换为ASCII码的客户机主机名。
注意: DNS处理能定时消费,因为另一台运行名系统的机器可以被联系上。
Oracle Web Listener提供控制DNS解析网络地址的三个选项:
总是解析连接中的地址
进行“懒”解析,只有一个外部应用,
安全模块或CGI脚本需要时,才解析名字。即使客户机要求,也不解析地址。
你可以使用Oracle WebServer管理工具或编辑配置文件来控制使用那种类型的DNS解析。缺省为提供最佳性能的-不使用DNS进行解析。
当DNS解析发生时,结果被缓存。在最近的成功中,通常有几个来自同一客户机的连接,这能在要求DNS解析时,最小化性能降低。
Client to Web Listener Security客户到Web Listener的
安全 Oracle Web Listener的安全框架包括对基本授权和授权。这两种模式的都提供文件上的用户名和口令的授权。也可以进行基于客户机网络地址的访问控制。使用Oracle WebServer 管理工具 配置安全特性。
Basic Authentication 基本授权
此模式使用在通过网络不加密地发送的用户名和口令。实践中这种技术已广泛地被digest授权取代,但它与较老的浏览器兼容,而digest授权不能。
Digest Authentication Digest 授权
这种模式与基本授权相似,除了它将用户名和口令加密地在网络上发送之外。一个加密的校验和(digest)用于编码口令,防止攻击者获取用户名/口令的原样组合。这种技术显然比基本授权更安全,并建议所有新应用使用,但对于较老的浏览器,其中某些还较为普遍,并不支持Digest授权。
Inte
.net Protocol-Based Restriction 因特网基于协议的限制
客户机的网络地址可以用于限制对Oracle Web Listener上信息的访问权。地址可以独立的被限制或允许访问,或者整个网络可以指定允许某些位置下的用户访问,而禁止其他所有的用户的访问。
当客户端请求一个受基于IP的安全的保护时,它的地址与指定的地址按照给定的顺序进行比较,当发现一个匹配时,客户端按照指定的被允许或禁止访问。受基于IP限制保护的文件可能不能被在配置参数列出的之外的客户端访问。
注意:Digest授权是较安全的判断用户真正是谁的技术,因为认证(口令)必须代表获取权限。基于网络地址的限制技术很适于避免口令管理问题,但仍不太安全,因为精明的攻击者可以伪造网络地址。
Domain Name -Based Restriction 基于域名的限制
基于域名的限制类似于基于IP的限制。一个组或主机的列表指明了哪些主机有或没有有一个文件集的访问权限。
这项技术使用符号化的主机名,而不是网络地址。因此,它更便于管理员,因为如果网络结构变化时网络地址可能变化。这项技术当精明的攻击者伪造网络地址并假设一?个他们不拥有的主机标志时,也会遇到问题。
Security on Specific Files 指定文件上的安全
指定安全可以将他们与基本授权,Digest授权,IP地址约束,域名约束,或者一种授权和一种限制方法的任意组合。
Other Security Features 其他安全特性
除授权之外,Web Listener的用户和组标识(在
UNIX上)可以在配置文件中指定,Web Listener自己也限制在尽能访问对该用户名和组有效的范围内。这允许Web Listener被启动时象一个有权限用户一样在执行方面有要求,但操作时仿佛它是个无权限的程序。这提供了对直接攻击Web Listener进程的另外的安全保护。有关组标识以安全为目的的使用的信息,见第七章的“基本配置参数”。
Logging 日志
当对Web Listener请求时,请求信息可以被登录在指定的日志文件里。Oracle Web Listener以工业标准的通用日志格式记录连接。此格式包括客户请求的第一行,其中指明了动作,URL,和协议版本。它也包括例如客户机主机地址,请求是否成功,传输了多少字节之类的信息。这些信息可以以后用于分析哪些用户进行了哪些类型的访问,或检查错误。使用WebServer管理工具可以在Web Listener配置文件中指定日志文件的目录以及标准日志和错误日志的名称。
注意: 确保Web Listener在一个有权限读写日志目录的用户下运行。
Starting Up and Shutting Down the Oracle Web Listener启动和下宕Oracle Web Listener
启动,下宕,或重启 Oracle Web Listener的最简单的方法是使用Administration Utility。如果你想在UNIX操作系统执行这些操作,按照下述方法使用WLCTL工具。
The WLCTL (Web Listener Control) Utility 此工具位于 ORACLE_HOME bin目录下,能够让你轻松地启动,下宕,或重启 Oracle Web Listener。
使用WLCTL进行不同的操作的语法如下:
> wlctl [start|stop|reload] [port_number] ORACLE_HOME
如果ORACLE_HOME在你的环境中已设置,且ORACLE_HOME表示Oracle WebServer安装的位置,它就不需要包含在命令行中。
以下例子假设Oracle WebServer位于 /u01/oracle:
当 ORACLE_HOME 已设置时:
>wlctl start 8888
在命令行指定ORACLE_HOME:
>wlctl start 8888 /u01/oracle
当 ORACLE_HOME 已设置时:
wlctl stop 8888
在命令行指定ORACLE_HOME:
wlctl stop 8888 /u01/oracle
当 ORACLE_HOME 已设置时:
>wlctl reload 8888
在命令行指定ORACLE_HOME:
>wlctl reload 8888 /u01/oracle停止和重启功能要求你所要停止和重启的Web Listener的Listener PID文件存在于Web Listener配置文件所指向的位置。
原文转自:http://www.ltesting.net
|