
WEB伺服器
Web伺服器一般指网站伺服器,是指驻留于网际网路上某种类型计算机的程式,可以向浏览器等Web客户端提供文档,也可以放置网站档案,让全世界浏览;可以放置数据档案,让全世界下载。目前最主流的三个Web伺服器是Apache Nginx IIS。
基本介绍
- 中文名:WEB伺服器
- 外文名:Web Server
- 其他名字:WWW(WORLD WIDE WEB)伺服器
词义辨析
什幺是网路伺服器?
网路伺服器是网路环境下为客户提供某种服务的专用计算机。
WEB简介
WEB伺服器也称为WWW(WORLD WIDE WEB)伺服器,主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。
Web伺服器是可以向发出请求的浏览器提供文档的程式。
1、伺服器是一种被动程式:只有当Internet上运行其他计算机中的浏览器发出的请求时,伺服器才会回响。

2 、最常用的Web伺服器是Apache和Microsoft的Internet信息伺服器(Internet Information Services,IIS)。
3、Internet上的伺服器也称为Web伺服器,是一台在Internet上具有独立IP位址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。
4、Web伺服器是指驻留于网际网路上某种类型计算机的程式。当Web浏览器(客户端)连到伺服器上并请求档案时,伺服器将处理该请求并将档案反馈到该浏览器上,附带的信息会告诉浏览器如何查看该档案(即档案类型)。伺服器使用HTTP(超文本传输协定)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP伺服器的原因。
Web伺服器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程式。
协定
- 套用层使用HTTP协定。
- HTML(标準通用标记语言下的一个套用)文档格式。
- 浏览器统一资源定位器(URL)。
- 为了解决HTTP协定的这一缺陷,需要使用另一种协定:安全套接字层超文本传输协定HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协定,SSL依靠证书来验证伺服器的身份,并为浏览器和伺服器之间的通信加密。
WWW简介
WWW是 World Wide Web (环球信息网)的缩写,也可以简称为 Web,中文名字为“全球资讯网”。它起源于1989年3月,由欧洲量子物理实验室CERN(the European Laboratory for Particle Physics)所发展出来的主从结构分散式超媒体系统。通过全球资讯网,人们只要通过使用简单的方法,就可以很迅速方便地取得丰富的信息资料。由于用户在通过 Web浏览器访问信息资源的过程中,无需再关心一些技术性的细节,而且界面非常友好,因而 Web 在Internet 上一推出就受到了热烈的欢迎,走红全球,并迅速得到了爆炸性的发展。
发展和特点
长期以来,人们只是通过传统的媒体(如电视、报纸、杂誌和广播等)获得信息。但随着计算机网路的发展,人们想要获取信息,已不再满足于传统媒体那种单方面传输和获取的方式,而希望有一种主观的选择性。网路上提供各种类别的资料库系统,如文献期刊、产业信息、气象信息、论文检索等等。由于计算机网路的发展,信息的获取变得非常及时、迅速和便捷。
到了1993年,WWW 的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连线以及图像传递的问题,使得 WWW 成为 Internet 上最为流行的信息传播方式。Web 伺服器成为 Internet 上最大的计算机群,Web 文档之多、连结的网路之广,令人难以想像。可以说,Web 为 Internet 的普及迈出了开创性的一步,是近年来 Internet 上取得的最激动人心的成就。
WWW 採用的是浏览器/伺服器结构,其作用是整理和储存各种WWW资源,并回响客户端软体的请求,把客户所需的资源传送到 Windows 95(或Windows98)、Windows NT、UNⅨ 或 Linux 等平台上。
使用最多的 web server伺服器软体有两个:微软的信息伺服器(iis),和Apache。
通俗的讲,Web伺服器传送(serves)页面使浏览器可以浏览,然而应用程式伺服器提供的是客户端应用程式可以调用(call)的方法(methods)。确切一点,你可以说:Web伺服器专门处理HTTP请求(request),但是应用程式伺服器是通过很多协定来为应用程式提供(serves)商业逻辑(business logic)。
Web伺服器可以解析(handles)HTTP协定。当Web伺服器接收到一个HTTP请求(request),会返回一个HTTP回响(response),例如送回一个HTML页面。为了处理一个请求(request),Web伺服器可以回响(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态回响(dynamic response)的产生委託(delegate)给一些其它的程式例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,伺服器端(server-side)JavaScript,或者一些其它的伺服器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些伺服器端(server-side)的程式通常产生一个HTML的回响(response)来让浏览器可以浏览。
要知道,Web伺服器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web伺服器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程式(译者注:伺服器端脚本)。Web伺服器仅仅提供一个可以执行伺服器端(server-side)程式和返回(程式所产生的)回响(response)的环境,而不会超出职能範围。伺服器端(server-side)程式通常具有事务处理(transaction processing),资料库连线(database connectivity)和讯息(messaging)等功能。
虽然Web伺服器不支持事务处理或资料库连线池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特徵(clustering—features)经常被误认为仅仅是应用程式伺服器专有的特徵。
应用程式伺服器(The Application Server)
根据我们的定义,作为应用程式伺服器,它通过各种协定,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程式。Web伺服器主要是处理向浏览器传送HTML以供浏览,而应用程式伺服器提供访问商业逻辑的途径以供客户端应用程式使用。应用程式使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函式)一样。
应用程式伺服器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web伺服器或者甚至是其它的应用程式伺服器上。在应用程式伺服器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程式逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程式伺服器是通过组件(component)的应用程式接口(API)把商业逻辑暴露(expose)(给客户端应用程式)的,例如基于J2EE(Java 2 Platform,Enterprise Edition)应用程式伺服器的EJB(Enterprise JavaBean)组件模型。此外,应用程式伺服器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和讯息(messaging)。就象Web伺服器一样,应用程式伺服器配置了多种可扩展(scalability)和容错(fault tolerance)技术。
例如,构想一个线上商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程式伺服器的情景和一个使用应用程式伺服器的情景。观察一下这两中情景的不同会有助于你了解应用程式伺服器的功能。
情景1:不带应用程式伺服器的Web伺服器
在此种情景下,一个Web伺服器独立提供线上商店的功能。Web伺服器获得你的请求(request),然后传送给伺服器端(server-side)可以处理请求(request)的程式。此程式从资料库或文本档案(flat file,译者注:flat file是指没有特殊格式的非二进制的档案,如properties和XML档案等)中查找定价信息。一旦找到,伺服器端(server-side)程式把结果信息表示成(formulate)HTML形式,最后Web伺服器把会它传送到你的Web浏览器。
简而言之,Web伺服器只是简单的通过回响(response)HTML页面来处理HTTP请求(request)。
情景2:带应用程式伺服器的Web伺服器
情景2和情景1相同的是Web伺服器还是把回响(response)的产生委託(delegates)给脚本(译者注:伺服器端(server-side)程式)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程式伺服器上。由于这种变化,此脚本只是简单的调用应用程式伺服器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个回响(response)。这时当该脚本程式产生HTML回响(response)时就可以使用该服务的返回结果了。
在此情景中,应用程式伺服器提供(serves)了用于查询产品的定价信息的商业逻辑。(伺服器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程式伺服器只是来回传送数据。当有客户端调用应用程式伺服器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。
通过从回响产生(response-generating)HTML的代码中分离出来,在应用程式之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。
总而言之,在情景2的模型中,在Web伺服器通过回应HTML页面来处理HTTP请求(request),而应用程式伺服器则是通过处理定价和有效性(availability)请求(request)来提供应用程式逻辑的。
警告(Caveats)
XML Web Services已经使应用程式伺服器和Web伺服器的界线混淆了。通过传送一个XML有效载荷(payload)给伺服器,Web伺服器现在可以处理数据和回响(response)的能力与以前的应用程式伺服器同样多了。
另外,大多数应用程式伺服器也包含了Web伺服器,这就意味着可以把Web伺服器当作是应用程式伺服器的一个子集(subset)。虽然应用程式伺服器包含了Web伺服器的功能,但是开发者很少把应用程式伺服器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程式伺服器的功能又有Web伺服器的功能)。相反,如果需要,他们通常会把Web伺服器独立配置,和应用程式伺服器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影回响用程式伺服器了),分开配置(专门的Web伺服器,集群(clustering)等等),而且给最佳产品的选取留有余地。
伺服器特点
Windows,Linux与Unix这3个作业系统是架设Web伺服器比较常见的作业系统。Linux的安全性能在这3个作业系统中最高,可以支持多个硬体平台,其网路功能比较强大。总的来说,这两大优点是其他作业系统不可替代的:第一,可以依据用户不同的需求来随意修改、调整与複製各种程式的源码以及发布在网际网路上;第二,Linux作业系统的市场价格比较便宜,也能够在网际网路上免费下载源码。可以说,Linux为架设既高效又安全的Web伺服器的比较理想的作业系统。此外,要让Web伺服器更具有优越的性能,可以根据伺服器系统之特点与用途作进一步的最佳化与处理,儘量减少Web伺服器的数据传输量以及降低其数据传输的频率,进而促进网路宽频的利用率与使用率,以及提高网路客户端的网页载入的速度,同时也可以减少Web伺服器各种资源的消耗。
工作原理
Web伺服器的工作原理并不複杂,一般可分成如下4个步骤:连线过程、请求过程、应答过程以及关闭连线。下面对这4个步骤作一简单的介绍。连线过程就是Web伺服器和其浏览器之间所建立起来的一种连线。查看连线过程是否实现,用户可以找到和打开socket这个虚拟档案,这个档案的建立意味着连线过程这一步骤已经成功建立。请求过程就是Web的浏览器运用socket这个档案向其伺服器而提出各种请求。应答过程就是运用HTTP协定把在请求过程中所提出来的请求传输到Web的伺服器,进而实施任务处理,然后运用HTTP协定把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。关闭连线就是当上一个步骤--应答过程完成以后,Web伺服器和其浏览器之间下线之过程。Web伺服器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个执行绪以及多个进程与多个执行绪相混合的技术。
大型
在UNⅨ和LINUX平台下使用最广泛的免费HTTP伺服器是Apache和Nginx伺服器,而Windows平台NT/2000/2003使用ⅡS的WEB伺服器。在选择使用WEB伺服器应考虑的本身特性因素有:性能、安全性、日誌和统计、虚拟主机、代理伺服器、缓冲服务和集成应用程式等,下面介绍几种常用的WEB伺服器。
IIS
Microsoft的Web伺服器产品为Internet Information Services (IIS),IIS 是允许在公共Intranet或Internet上发布信息的Web伺服器。ⅡS是目前最流行的Web伺服器产品之一,很多着名的网站都是建立在ⅡS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。
IIS是一种Web服务组件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分别用于网页浏览、档案传输、新闻服务和邮件传送等方面,它使得在网路(包括网际网路和区域网路)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展Web伺服器功能的编程接口;同时,它还提供一个Internet资料库连线器,可以实现对资料库的查询和更新。
Kangle
kangle web伺服器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web伺服器和反向代理伺服器软体。除此:kangle也是一款专为做虚拟主机研发的web伺服器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp·net、java、ruby等多种动态开发语言。
WebSphere
WebSphere Application Server 是一种功能完善、开放的Web应用程式伺服器,是IBM电子商务计画的核心部分,它是基于 Java 的套用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程式。这一整套产品进行了扩展,以适应 Web应用程式伺服器的需要,範围从简单到高级直到企业级。
WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP伺服器和CGI编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重複使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web应用程式转移到电子商务世界。
WebLogic
BEA WebLogic Server是一种多功能、基于标準的web套用伺服器,为企业构建自己的套用提供了坚实的基础。各种套用开发、部署所有关键性的任务,无论是集成各种系统和资料库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标準的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的套用。
BEA WebLogic Server 在使套用伺服器成为企业套用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级套用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。
Apache
Apache仍然是世界上用的最多的Web伺服器,市场占有率达60%左右。它源于NCSAhttpd伺服器,当NCSAWWW伺服器项目停止后,那些使用NCSA WWW伺服器的人们开始交换用于此伺服器的补丁,这也是apache名称的由来(pache 补丁)。世界上很多着名的网站都是Apache的产物,它的成功之处主要在于它的原始码开放、有一支开放的开发队伍、支持跨平台的套用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Tomcat
Tomcat是一个开放原始码、运行servlet和JSP Web套用软体的基于Java的Web套用软体容器。Tomcat Server是根据servlet和JSP规範进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规範且比绝大多数商业套用软体伺服器要好。
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标準实现,是基于Apache许可证下开发的自由软体。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此许多WEB伺服器都是採用Tomcat。
Jboss
是一个基于J2EE的开放原始码的套用伺服器。 JBoss代码遵循LGPL许可,可以在任何商业套用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和伺服器,支持EJB 1.1、EJB 2.0和EJB3的规範。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
JBOSS伺服器使用详解
1、把档案解压到一个不含空格的,非中文目标下,如:jboss
2、加入MyEclipse —> Servers -> JBoss -> JBoss 5.x
(1)、JBoss home directory :选择JBOSS存放的路径;如:C:\JBOSS\jboss-5.1.0
(2)、Server name :default (3个默认的配置:minimial,default和all)
3、Apply -> OK
4、配置环境变数:
(1)、添加:变数名:JBoss_HOME 变数值:C:\JBOSS\jboss-5.1.0(JBoss的解压后的目录)
(2)、把 C:\JBOSS\jboss-5.1.0\bin 变数值加到:path变数中;
(3)、保存
5、运行:C:\JBOSS\jboss-5.1.0\bin\run.bat 档案
6、发布web项目
JBOSS伺服器目录结构作用介绍
目录 描述
------------------------------------------------------------------------------
bin 启动和关闭JBoss的脚本
client 客户端与JBoss通信所需的的Java库(JARs)
docs 配置的样本档案(资料库配置等)
doc/dtd 在JBoss中使用的各种XML档案的DTD。
lib 一些JAR,JBoss启动时载入,且被所有JBoss配置共享。(不要把你的库放在这里)
server 各种JBoss配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。
JBoss包含3个默认的配置:minimial,default和all。
server/all JBoss的完全配置,启动所有服务,包括集群和IIOP。
server/default JBoss的默认配置。在没有在JBoss命令航中指定配置名称时使用。
server/default/conf JBoss的配置档案。
server/default/data JBoss的资料库档案。比如,嵌入的资料库,或者JBossMQ。
server/default/deploy JBoss的热部署目录。放到这里的任何档案或目录会被JBoss自动部署。EJB、WAR、EAR,甚至服务。
server/default/lib 一些JAR,JBoss在启动特定配置时载入它们。(all和minimial配置也包含这个和下面两个目录。)
server/default/log JBoss的日誌档案。
server/default/tmp JBoss的临时档案。
补充
1、JBoss的默认连线埠是8080
2、对于NT和Win2000系统如果你要安装NT或Win2000服务的话,可以把JBoss加在系统服务中,避免你每次需要到JBoss目录下运行run.bat命令,只是当系统启动时,自动启动JBoss伺服器。
2003Web
Web伺服器组件是Windows Server2003系统中ⅡS6.0的服务组件之一,默认情况下并没有被安装,用户需要手动安装Web服务组件。
第1步,打开“控制台”视窗,双击“添加/删除程式”图示,打开“添加或删除程式”视窗。单击“添加/删除Windows组件”按钮,打开“Windows组件安装精灵”对话框。
第2步,在“Windows组件”对话框中双击“应用程式伺服器”选项,打开“应用程式伺服器”对话框。在“应用程式伺服器的子组件”列表中双击“Internet 信息服务(ⅡS)”複选框。
第3步,打开“Internet 信息服务(ⅡS)”对话框,在“Internet 信息服务(ⅡS) 的子组件”列表中选中“全球资讯网服务”複选框。依次单击“确定”→“确定”按钮。
第4步,系统开始安装ⅡS 6.0和Web服务组件。在安装过程中需要提供Windows Server 2003系统安装光碟或指定安装档案路径。安装完成后单击“完成”按钮即可。
小型
【nginx】
* 支持通用语言接口,如php、python、perl等
* 支持正向和反向代理、虚拟主机、url重写、压缩传输等
* nginx的模组都是静态编译的,对fcgi的支持非常好,在处理连结的的方式上nginx支持epoll。
【 micro_httpd - really small HTTP server】
特点:
* 支持安全的 .. 上级目录过滤
* 支持通用的MIME类型
* 支持简单的目录
* 支持目录列表
* 支持使用 index.html 作为首页
* Trailing-slash redirection
*程式总共代码才200多行
这个httpd适合学习简单的Web Server编写学习,因为它只有一个简单的框架,只能够处理简单的静态页,可以考虑用来放静态页。
【 mini_httpd - small HTTP server 】
特点:
* 支持GET、HEAD、POST方法
* 支持CGI功能
* 支持基本的验证功能
* 支持安全 .. 上级目录功能
* 支持通用的MIME类型
* 支持目录列表功能
* 支持使用 index.html,index.htm,index.cgi 作为首页
* 支持多个根目录的虚拟主机
* 支持标準日誌记录
* 支持自定义错误页
* Trailing-slash redirection
mini_httpd 也是相对比较适合学习使用,大体实现了一个Web Server的功能,支持静态页和CGI,能够用来放置一些个人简单的东西,不适宜投入生产使用。
【 thttpd - tiny/turbo/throttling HTTP server 】
thttpd中是一个简单,小型,轻便,快速和安全的http伺服器.
简单:它能够支持HTTP/1.1协定标準,或者超过了最低水平
小巧:它具有非常少的运行时间,因为它不fork子进程来接受新请求,并且非常谨慎的分配记忆体。
便携:它能够在大部分的类Unix系统上运行,包括FreeBSD,SunOS 4,Solaris 2,BSD/OS,Linux,OSF等等
快速:它的速度要超过主流的Web伺服器(Apache,NCSA,Netscape),在高负载情况下,它要快的多
安全:它努力的保护主机不受到攻击,不中断伺服器
thttpd 类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是採用多路复用(Multiplex)技术来实现。因此效能很好。同时它还有一个特点就是基于URL的档案流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用外挂程式实现,效率较thttpd低。
配置
如何设定默认文档;在同一台伺服器上架设多个Web站点;(可以通过改变连线埠号)创建Web虚拟目录;
(1)了解DNS主机名和IP位址。 如果此WEB伺服器在Internet上,需向ISP申请和注册此伺服器的DNS主机名和IP位址。如果此伺服器只在企业网内使用,则在内部的DNS伺服器上注册。
(2)打开伺服器文档,选择"连线埠"-"Internet连线埠",启用"TCP/ IP连线埠"。
(3)选择"Internet协定",完成以下选项后,保存文档。
"绑定主机名":
A、选择"是"则您可在"主机名"项中输入主机别名,WEB用户可用此别名替代Domino伺服器名访问WEB伺服器。
B、选择"否"(预设)则不允许使用别名。
"DNS查询": 选择"是"则Domino伺服器查询传送请求的WEB客户机的DNS名。
Domino日誌档案和资料库将包含WEB客户机的DNS主机名。 选择"否"(预设)则不查询,Domino日誌档案和
资料库将只包含WEB客户机的IP位址。
注意:选择"否"将提高Domino伺服器性能,因为伺服器不使用资源执行DNS查询。
"允许HTTP客户浏览资料库":选择"是"则允许WEB用户在URL中使用OpenServer命令来显示伺服器上资料库列表。选择"否"(预设)则不允许。但即使WEB用户不能看到伺服器上资料库列表,他们仍能打开有许可权访问的单个资料库。
(4)启动HTTP任务。在伺服器控制台上,输入:loap http
安全
设定策略
盗用账号、缓冲区溢出以及执行任意命令是Web伺服器比较常见的安全漏洞。黑客攻击、蠕虫病毒以及木马是网际网路比较常见的安全漏洞。口令攻击、拒绝服务攻击以及IP欺骗是黑客攻击比较常见的类型。随着网路技术的不断发展,Web伺服器面临着许多安全威胁,直接影响到Web伺服器的安全。因此,加强Web伺服器的安全防护是一项迫切需要的解决的时代课题。笔者结合多年的工作实践,认为可从以下3个方面入手来加强Web伺服器的安全防护。
第一,加强Web伺服器的安全设定。
以Linux为操作平台的Web伺服器的安全设定策略,能够有效降低伺服器的安全隐患,以确保Web伺服器的安全性,主要包括:登录有户名与密码的安全设定、系统口令的安全设定、BIOS的安全设定、使用SSL通信协定、命令存储的修改设定、隐藏系统信息、启用日誌记录功能以及设定Web伺服器有关目录的许可权等[3]。
第二,加强网际网路的安全防範。
Web伺服器需要对外提供服务,它既有域名又有公网的网址,显然存在一些安全隐患。所以,可给予Web伺服器分配私有的地址,并且运用防火墙来做NAT可将其进行隐藏;同时因为一些攻击来源于区域网路的攻击,比如把区域网路计算机和Web伺服器存放在相同的区域网路之内,则在一定程度上会增加很多安全隐患,所以必须把它划分为不同的虚拟区域网路,运用防火墙的地址转换来提供相互间的访问,这样就大大提高了Web伺服器的安全性和可靠性;把Web伺服器连线至防火墙的DMZ连线埠,将不适宜对外公布的重要信息的伺服器放于内部网路,进而在提供对外的服务的同时,可以最大限度地保护好内部网路[4]。
第三,网路管理员要不断加强网路日常安全的维护与管理。
要对管理员用户名与密码定期修改;要对Web伺服器系统的新增用户情况进行定时核对,并且需要认真仔细了解网路用户的各种功能;要及时给予更新Web伺服器系统的防毒软体以及病毒库,必要时可针对比较特殊的病毒给予安装专门防毒的程式,同时要定期查杀Web伺服器的系统病毒,定期查看CPU的正常工作使用状态、后台工作进程以及应用程式,假若发现异常情况需要及时给予妥当处理[5];因为很多木马与病毒均是运用系统漏洞来进行攻击的,所以需要不断自动更新Web伺服器系统,以及定期扫描Web伺服器系统的漏洞。
第一,加强Web伺服器的安全设定。
以Linux为操作平台的Web伺服器的安全设定策略,能够有效降低伺服器的安全隐患,以确保Web伺服器的安全性,主要包括:登录有户名与密码的安全设定、系统口令的安全设定、BIOS的安全设定、使用SSL通信协定、命令存储的修改设定、隐藏系统信息、启用日誌记录功能以及设定Web伺服器有关目录的许可权等[3]。
第二,加强网际网路的安全防範。
Web伺服器需要对外提供服务,它既有域名又有公网的网址,显然存在一些安全隐患。所以,可给予Web伺服器分配私有的地址,并且运用防火墙来做NAT可将其进行隐藏;同时因为一些攻击来源于区域网路的攻击,比如把区域网路计算机和Web伺服器存放在相同的区域网路之内,则在一定程度上会增加很多安全隐患,所以必须把它划分为不同的虚拟区域网路,运用防火墙的地址转换来提供相互间的访问,这样就大大提高了Web伺服器的安全性和可靠性;把Web伺服器连线至防火墙的DMZ连线埠,将不适宜对外公布的重要信息的伺服器放于内部网路,进而在提供对外的服务的同时,可以最大限度地保护好内部网路[4]。
第三,网路管理员要不断加强网路日常安全的维护与管理。
要对管理员用户名与密码定期修改;要对Web伺服器系统的新增用户情况进行定时核对,并且需要认真仔细了解网路用户的各种功能;要及时给予更新Web伺服器系统的防毒软体以及病毒库,必要时可针对比较特殊的病毒给予安装专门防毒的程式,同时要定期查杀Web伺服器的系统病毒,定期查看CPU的正常工作使用状态、后台工作进程以及应用程式,假若发现异常情况需要及时给予妥当处理[5];因为很多木马与病毒均是运用系统漏洞来进行攻击的,所以需要不断自动更新Web伺服器系统,以及定期扫描Web伺服器系统的漏洞。
Web伺服器已经成为了病毒、木马的重灾区。不但企业的入口网站被篡改、资料被窃取,而且还成为了病毒与木马的传播者。有些Web管理员採取了一些措施,虽然可以保证入口网站的主页不被篡改,但是却很难避免自己的网站被当作肉鸡,来传播病毒、恶意外挂程式、木马等等。这很大一部分原因是管理员在Web安全防护上太被动。他们只是被动的防御。为了彻底提高Web伺服器的安全,Web安全要主动出击。
漏洞测试
企业网站做的越来越複杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那幺不会带来多大的安全隐患。但是如果放在网际网路上使用的话,则这些为实现特定功能的代码就有可能成为攻击者的目标。天眼举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。有时候访问某些网站还需要有某些特定的控制项。用户在安装这些控制项时,其实就有可能在安装一个木马(这可能访问者与被访问者都没有意识到)。
为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。已知的病毒、木马不能够在你所开发的外挂程式中有机可乘。通过这层层把关,就可以提高代码编写的安全性。
为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。已知的病毒、木马不能够在你所开发的外挂程式中有机可乘。通过这层层把关,就可以提高代码编写的安全性。
持续监控
冰冻三尺、非一日之寒。这就好像人生病一样,都有一个过程。病毒、木马等等在攻击Web伺服器时,也需要一个过程。或者说,在攻击取得成功之前,他们会有一些试探性的动作。如对于一个採取了一定安全措施的Web伺服器,从攻击开始到取得成果,至少要有半天的时间。如果Web管理员对伺服器进行了全天候的监控。在发现有异常行为时,及早的採取措施,将病毒与木马阻挡在门户之外。这种主动出击的方式,就可以大大的提高Web伺服器的安全性。
维护的Web伺服器有好几十个。专门有一个小组,来全天候的监控伺服器的访问。平均每分钟都可以监测到一些试探性的攻击行为。其中99%以上的攻击行为,由于伺服器已经採取了对应的安全措施,都无功而返。不过每天仍然会遇到一些攻击行为。这些攻击行为可能是针对新的漏洞,或者採取了新的攻击方式。在伺服器上原先没有採取对应的安全措施。如果没有及时的发现这种行为,那幺他们就很有可能最终实现他们的非法目的。相反,及早的发现了他们的攻击手段,那幺我们就可以在他们採取进一步行动之前,就在伺服器上关掉这扇门,补上这个漏洞。
在这里也建议,企业用户在选择网际网路Web伺服器提供商的时候,除了考虑性能等因素之外,还要评估服务提供商能否提供全天候的监控机制。在Web安全上主动出击,及时发现攻击者的攻击行为。在他们採取进一步攻击措施之前,就他们消除在萌芽状态。
维护的Web伺服器有好几十个。专门有一个小组,来全天候的监控伺服器的访问。平均每分钟都可以监测到一些试探性的攻击行为。其中99%以上的攻击行为,由于伺服器已经採取了对应的安全措施,都无功而返。不过每天仍然会遇到一些攻击行为。这些攻击行为可能是针对新的漏洞,或者採取了新的攻击方式。在伺服器上原先没有採取对应的安全措施。如果没有及时的发现这种行为,那幺他们就很有可能最终实现他们的非法目的。相反,及早的发现了他们的攻击手段,那幺我们就可以在他们採取进一步行动之前,就在伺服器上关掉这扇门,补上这个漏洞。
在这里也建议,企业用户在选择网际网路Web伺服器提供商的时候,除了考虑性能等因素之外,还要评估服务提供商能否提供全天候的监控机制。在Web安全上主动出击,及时发现攻击者的攻击行为。在他们採取进一步攻击措施之前,就他们消除在萌芽状态。
设定蜜罐
在军队中,有时候会给军人一些“伪装”,让敌人分不清真伪。其实在跟病毒、木马打交道时,本身就是一场无硝烟的战争。为此对于Web伺服器採取一些伪装,也能够将攻击者引向错误的方向。等到供给者发现自己的目标错误时,管理员已经锁定了攻击者,从而可以及早的採取相应的措施。天眼有时候将这种主动出击的行为叫做蜜罐效应。简单的说,就是设定两个伺服器。其中一个是真正的伺服器,另外一个是蜜罐。需要做的是,如何将真正的伺服器伪装起来,而将蜜罐推向公众。让攻击者认为蜜罐伺服器才是真正的伺服器。要做到这一点的话,可能需要从如下几个方面出发。
一是有真有假,难以区分。如果要瞒过攻击者的眼睛,那幺蜜罐伺服器就不能够做的太假。天眼在做蜜罐伺服器的时候,80%以上的内容都是跟真的伺服器相同的。只有一些比较机密的信息没有放置在蜜罐伺服器上。而且蜜罐伺服器所採取的安全措施跟真的伺服器事完全相同的。这不但可以提高蜜罐伺服器的真实性,而且也可以用来评估真实伺服器的安全性。一举两得。
二是需要有意无意的将攻击者引向蜜罐伺服器。攻击者在判断一个Web伺服器是否值得攻击时,会进行评估。如评估这个网站的流量是否比较高。如果网站的流量不高,那幺即使被攻破了,也没有多大的实用价值。攻击者如果没有有利可图的话,不会花这幺大的精力在这个网站伺服器上面。如果要将攻击者引向这个蜜罐伺服器的话,那幺就需要提高这个蜜罐伺服器的访问量。其实要做到这一点也非常的容易。有很多用来互动流量的团队。只要花一点比较小的投资就可以做到这一点。
三是可以故意开一些后门让攻击者来钻。作为Web伺服器的管理者,不仅关心自己的伺服器是否安全,还要知道自己的伺服器有没有被人家盯上。或者说,有没有被攻击的价值。此时管理者就需要知道,自己的伺服器一天被攻击了多少次。如果攻击的频率比较高,管理者就高兴、又忧虑。高兴的是自己的伺服器价值还蛮大的,被这幺多人惦记着。忧虑的是自己的伺服器成为了众人攻击的目标。就应该抽取更多的力量来关注伺服器的安全。
一是有真有假,难以区分。如果要瞒过攻击者的眼睛,那幺蜜罐伺服器就不能够做的太假。天眼在做蜜罐伺服器的时候,80%以上的内容都是跟真的伺服器相同的。只有一些比较机密的信息没有放置在蜜罐伺服器上。而且蜜罐伺服器所採取的安全措施跟真的伺服器事完全相同的。这不但可以提高蜜罐伺服器的真实性,而且也可以用来评估真实伺服器的安全性。一举两得。
二是需要有意无意的将攻击者引向蜜罐伺服器。攻击者在判断一个Web伺服器是否值得攻击时,会进行评估。如评估这个网站的流量是否比较高。如果网站的流量不高,那幺即使被攻破了,也没有多大的实用价值。攻击者如果没有有利可图的话,不会花这幺大的精力在这个网站伺服器上面。如果要将攻击者引向这个蜜罐伺服器的话,那幺就需要提高这个蜜罐伺服器的访问量。其实要做到这一点也非常的容易。有很多用来互动流量的团队。只要花一点比较小的投资就可以做到这一点。
三是可以故意开一些后门让攻击者来钻。作为Web伺服器的管理者,不仅关心自己的伺服器是否安全,还要知道自己的伺服器有没有被人家盯上。或者说,有没有被攻击的价值。此时管理者就需要知道,自己的伺服器一天被攻击了多少次。如果攻击的频率比较高,管理者就高兴、又忧虑。高兴的是自己的伺服器价值还蛮大的,被这幺多人惦记着。忧虑的是自己的伺服器成为了众人攻击的目标。就应该抽取更多的力量来关注伺服器的安全。
攻防测试
俗话说,靠人不如靠自己。在Web伺服器的攻防战上,这一个原则也适用。天眼建议,如果企业对于Web服务的安全比较高,如网站伺服器上有电子商务交易平台,此时最好设定一个专业的团队。他们充当攻击者的角色,对伺服器进行安全性的测试。这个专业团队主要执行如下几个任务。
一是测试Web管理团队对攻击行为的反应速度。如可以採用一些现在比较流行的攻击手段,对自己的Web伺服器发动攻击。当然这个时间是随机的。预先Web管理团队并不知道。要评估的是,Web管理团队在多少时间之内能够发现这种攻击的行为。这也是考验管理团队全天候跟蹤的能力。一般来说,这个时间越短越好。应该将这个时间控制在可控的範围之内。即使攻击最后没有成功,Web管理团队也应该及早的发现攻击的行为。毕竟有没有发现、与最终有没有取得成功,是两个不同的概念。
二是要测试伺服器的漏洞是否有补上。毕竟大部分的攻击行为,都是针对伺服器现有的漏洞所产生的。这个专业团队要做的就是,这些已发现的漏洞是否都已经打上了安全补丁或者採取了对应的安全措施。有时候我们都没有发现的漏洞是无能为力,但是对于这些已经存在的漏洞不能够放过。否则的话,也太便宜那些攻击者了。
一是测试Web管理团队对攻击行为的反应速度。如可以採用一些现在比较流行的攻击手段,对自己的Web伺服器发动攻击。当然这个时间是随机的。预先Web管理团队并不知道。要评估的是,Web管理团队在多少时间之内能够发现这种攻击的行为。这也是考验管理团队全天候跟蹤的能力。一般来说,这个时间越短越好。应该将这个时间控制在可控的範围之内。即使攻击最后没有成功,Web管理团队也应该及早的发现攻击的行为。毕竟有没有发现、与最终有没有取得成功,是两个不同的概念。
二是要测试伺服器的漏洞是否有补上。毕竟大部分的攻击行为,都是针对伺服器现有的漏洞所产生的。这个专业团队要做的就是,这些已发现的漏洞是否都已经打上了安全补丁或者採取了对应的安全措施。有时候我们都没有发现的漏洞是无能为力,但是对于这些已经存在的漏洞不能够放过。否则的话,也太便宜那些攻击者了。
宕机诊断方法
步骤1:发生了什幺事
系统管理员必须肩负起分析和判断Web伺服器宕机原因的责任。需要解决如下的问题:
- 是否是断电,发电机测试以及其他类似问题影响了整体物理环境?
- 和Web伺服器的通信是否已经完全被阻断,还是某些IP段依旧可以使用?
- 是否还可以管理伺服器?
- 日誌中是否有异常记录?
这些只是少部分管理员们需要立即回答的问题,在深入诊断问题之前,先解决上述问题。
步骤2:最简单的解决方案往往是最好的
有很多时候会陷入诊断高级问题的误区,分析各种可能的技术问题和疑难杂症。而实际上,退一步想,从巨观角度思考问题,可能解决已花费无数工时和成本却还未攻克的技术难题。例如,主机通电了吗,或者是否有人无意间碰掉了电源线?如果机器确实已经通电,但没有任何网路连线,需要检查网线或者光纤是否没有接上或者鬆动。是的,这些看似明显低级错误的解决方法,认为都不可能发生,但任何有经验的系统管理员会告诉你,这些状况的发生频率远比想的要多的多。
步骤3:基本故障处理方法没有效果怎幺办
现在已经检查了所有电缆和其他外围设备,可以试着使用ping命令探测设备状况。幸运的是,ping命令是所有平台通用的,也是最简单的。如果可以在区域网路内ping通伺服器,接着可以试试从区域网路外ping伺服器进行检测。这样做可以迅速判断问题是否产生在交换和路由层面,而不是伺服器级别。此外,如果Web伺服器已经虚拟化,试着ping物理伺服器自己的真实IP。这样可以帮助进一步隔离问题。如果完全无法ping同伺服器,而且也已经确定完全检查了网路连线,那幺就需要进行更深入的分析了。
步骤4:使尽浑身解数,伺服器依然宕机
已经检查过网线。也试过了ping伺服器,依旧无法访问伺服器。好讯息是,已经可以将问题定位到物理伺服器或作业系统本身了。换句话说,已经可以开始集中经理对现存的问题进行排查。
接下来,才去从底层到高层的方式来逐层检查问题,首先检查网路接口和本地网路配置是否正常。DHCP是否启动?Web伺服器是否指向正确的DNS伺服器?如果是这样,可以根据使用的作业系统平台,检查Web服务是否正常开启。在Windows环境,需要检查伺服器是否具有Web服务的角色。在Linux环境下,检查会更複杂,可以试试查找http相关的档案或服务来确保伺服器是否正在运行。
步骤5:绝境下需要动用绝招
如果以上方法都不奏效,检查日誌并尝试查明在Web伺服器宕机时日誌中记录的那些信息。将这些信息发给在故障处理和解决领域更有经验的专业人士,可能会获得更多的帮助。同样的,如果已经确认网路连线不是问题,就可以使用Wireshark抓包工具对网路中传输的数据进行抓取分析,以此协助处理问题。
总而言之,伺服器宕机的原因多种多样。断电、配置错误、防火墙设定错误、甚至是来自网际网路的恶意流量,都可能引发源站宕机并让系统管理员们抓狂。所有这些问题都足以让企业决策者对冗余解决方案的设计和实施加以重视,同样的针对故障处理流程的设计和制定,还需要根据企业自身网路的实际情况为依据。
选购指南
在这个电商已经普及的时代,一个企业,不管大小总是都需要有一个网站,在网路上宣传自己的品牌。这跟90年代你开了公司一定要有一个办公室是一个道理了。而且更多的企业选择电子商务。作为网站建设的基础,伺服器租用也成为必须要考虑的事情。
伺服器租用选择的成功与否,可以说在一定程度上直接影响着网站建设的成功与否。这不论是对大企业,还是中小企业建网站都是一样的。
但实际,很多中小企业在建设网站,并选择伺服器作为其信息化基础工具时,则出现一些不正确的做法:如为了节省资金,便随便租用或购买一台伺服器。结果由于伺服器性能低下导致信息系统经常出问题。最终不但没有帮助企业传播信息,提升品牌,反而因系统不稳定,给企业带来负面影响。
因此,拥有一款稳定、良好的伺服器无疑是企业最基本的选择。那幺,企业又该如何选择优秀的伺服器呢。我这里想说下几点。
第一、资质是最基本的,一定要有齐全的IDC服务商资质。如果没有,不管是多好的伺服器,都不要购买。连企业真假都不能确定的事情,你如何保证他的产品呢?
第二、对于中小企业不建议租用一线城市机房的伺服器,原因很简单。像北京上海这种一线机房,都是寸土寸金,伺服器好不好先不说,但是光机房的成本就比二线、三线城市的要高得多。这费用当然要算到企业的头上。而且二线、三线城市的机房其实是一样的,但是它的成本要低得多。同样的产品,为什幺不选价格低的呢?
第三、一定要考虑清楚你需要什幺伺服器?比如说品牌、配置,或者说是需要伺服器租用、伺服器託管还是伺服器合租等等。这些都需要根据自身企业的需求来确定。如果自己不清楚,可以选择谘询IDC服务商,不放心的话可以在网上问相关的专业人士。
发展趋势
Web伺服器的发展有三个主要趋势:
从HTML到XML
标準通用标记语言的子集可扩展标记语言(eXtensible Markup Language)
标準通用标记语言的子集HTML被称为“第一代Web语言”,如前面的介绍,HTML作为Web的开发语言,对Web套用的发展起到了关键性的作用。但是HTML有一个致命的缺点:只适合于人与计算机的交流,不适合计算机与计算机的交流。HTML通过大量的标记来定义文档内容的表现方式,它仅仅描述了应如何在Web浏览器页面上布置文字、图形,并没有对Internet的信息含义本身进行描述,而信息又是Web套用中最重要的内容。通过HTML表现出来的文字、图形内容很容易被人理解,但却不利于电脑程式去理解。另外,HTML的另一个问题就是它的标记集合是固定的,用户不能根据自己的需要增加标记;而且各种浏览器的规格不尽相同,要使我们用HTML做的网页能够被所有浏览器正常显示,我们只能够使用W3C(全球资讯网协会)规定的标记来创建网页。
正如前面所说,Web伺服器向Web浏览器提供的信息都是来自有一定结构的资料库,在资料库里,为了检索和管理的方便,信息按照它本身的意义(如姓名、年龄、工作单位等)被存放在相应的栏位里,一旦这些数据被调出来,经过CGI、ASP、JSP、PHP等转换成HTML后,其原来的意义无法转移到HTML标记中来,用户也就无法按照信息本来的意义去阅读。并且,由于作业系统以及资料库的不同,不同的系统及套用层面之间要想互相理解对方的数据格式是相当困难的。这就需要一种新技术或标準能够将最初保存在资料库伺服器中的原始数据结构在不同的系统层面共享。这种新技术就是XML。
使用XML可以解决上述的难题。W3C对XML作了如下描述:“XML描述了一类被称为XML文档的数据对象,并部分描述了处理它们的电脑程式的行为。XML是标準通用标记语言的一个套用实例。从结构上说,XML文档遵从标準通用标记语言文档标準。”同HTML一样,XML也是一种基于文本的标记语言,都是从标準通用标记语言发展而来,二者的不同在于:XML可以让我们根据要表现的文档,自由地定义标记来表现具有实际意义的文档内容,例如,我们可以定义〈文档名称〉〈/文档名称〉这样具有实际意义的标记。而且XML不像HTML那样具有固定的标记集合,它实际上是一种定义语言的语言,也就是说使用XML的用户可以定义无穷的标记来描述文档中的任何数据元素,将文档的内容组织成丰富的完整的信息体系。总起来说,XML具有四大特点:便于存储的数据格式、可扩展性、高度结构化以及方便的网路传输,这些特点为我们创建开放、高效、可扩展、个性化的Web套用提供了一个崭新的起点。
从有线到无线
电子商务正在从台式机向着更为广泛的无线设备发展,Cahners In-Stat市场分析家预测,世界範围内的无线用户的人数将会从2000年的2.71亿增加到2004年的13亿。Aberdeen集团的研究主任Darcy Fowkes认为,採用无线方式进行电子商务的优势并不仅仅在于方便,它还可以节约公司的财力,而且,移动办公能使工作更加高效。
然而,由于多种无线网路类型、标记语言、协定和无线设备并存的複杂情况,使得网路内容和数据转换成能够被无线设备所识别的格式并不容易。许多企业都在致力于开发能够把应用程式以及网际网路内容扩展到无线设备上的产品。
例如,IBM新版本的WebSphere Transcoding Publisher 3.5增加和改进了许多新的特性,可以将企业内部网上的数据翻译到多种无线设备上。该版本中新的特性包括对更多的无线设备、数据格式的支持,以及语言翻译功能。它基于Java架构,能把用HTML和XML等标记语言编写的应用程式和数据转换成WML、HDML(Handheld Device Markup Language)和iMode等无线设备所能识别的格式,这样,通过手持设备就可以访问网际网路上的信息。
无线设备厂商Mobilize也推出了Mobilize Commerce产品,帮助企业进入无线网路。该软体可以通过无线连线的方式访问企业的内部系统,远程地实现订单传送,并进行确认。Mobilize Commerce可以充分利用XML对信息进行格式转换,以适合于无线设备,这些无线设备包括笔记本电脑、个人数字助理、无线电话、网路电话和双向寻呼等。
从无声到有声
世界上有十亿个电话终端,有超过2亿的行动电话。而就人自身的交流习惯来看,人们也更愿意利用听和说的口头的方式进行交流。
文本语音转换器(TTS,Text to Speech)的研究工作已经取得了很大的进步,实现了自动的语言分析理解,并允许TTS的使用者增加更多的韵律、音调在讲话中,使TTS系统的发声更接近人声。在自动语音识别系统(ASR)领域里,自动语音识别系统在从整个词的模仿匹配,向音素层次的识别系统方向发展。自动语音识别系统的辞彙表由一个基于声音片断的字母表构成,而且这种辞彙表是受不同语言限制的。基于这种方式,在一个宽广的声音行列里,讲话能被识别系统发现和挑拣出来,并加以识别。并且,在识别一个词的时候,每一个音素将从系统的输入中挑拣出来,拼接组合后与已经有的音素和词语模板进行比较,来产生需要的模板。音素的识别大大减轻了ASR对讲话者的依赖性,并且使得它非常容易去建立大型的和容易修改的语音识别字典,从而满足不同套用市场的需求。
Web语音发展的另一方面是VoiceXML(Voice Extensible Markup Language-语音可扩展标记语言)的进展。VoiceXML的主要目标是要将Web上已有的大量套用、丰富的内容,让互动式语音界面也能够全部享受。Web伺服器处理一个来自客户端套用的请求,这一请求经过了VoiceXML解释程式和VoiceXML解释程式语境处理,作为回响,伺服器产生出VoiceXML档案,在回复当中,要经过VoiceXML解释程式的处理。VoiceXML 1.0规範基于XML,为语音和电话套用的开发者、服务提供商和设备製造商提供了一个智慧型化的API。VoiceXML的标準化将简化Web上具有语音回响服务的个性化界面的创建,使人们能够通过语音和电话访问网站上的信息和服务,像今天通过CGI脚本一样检索中心资料库,访问企业内部网,製造新的语音访问设备。VoiceXML的执行平台上面载入了相应的软体和硬体,例如,ASR、TTS,从而实现语音的识别以及文本和语音之间的转化。2000年5月23日,W3C接受了语音可扩展标记语言VoiceXML 1.0作为实例。
IBM、Nokia、Lucent、Motorola等着名厂商都已经开发出相应支持VoiceXML的产品,ASR和TTS系统大多还不能支持中文。