中国科学技术大学90课件_第1页
中国科学技术大学90课件_第2页
中国科学技术大学90课件_第3页
中国科学技术大学90课件_第4页
中国科学技术大学90课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TCP/IP基本原理

第十章Web服务本章学习要求:掌握:Web与HTTP的概念与关系掌握:HTTP的工作原理了解:Web服务器软、硬件选择要点了解:IIS服务器的基本概念了解:Apache服务器的配置 Web(或称WorldWideWeb,简称WWW)服务是最常见的Internet服务.而HTTP(HypertextTransferProtocol,超文本传送协议)是web的基础。Web服务是典型的客户/服务器结构的应用。 Web的客户(通常称之为“浏览器”)与web服务器使用一个或多个TCP连接进行通信。Web客户端与服务器端通信时所采用的协议就是HTTP协议。Web服务器可以通过超文本链接指向另一个Web服务器,或者是其他类型的服务器(如FTP服务器、Telnet服务器等)。 在HTTP的协议中,描述了一种从Web服务器返回给客户端的文档,称为HTML(超文本标记语言)文档。Web服务器还返回其他类型的文档(图像、无格式文本等)。与这些用HTML语言描述的文档一起、构成了丰富多彩的Web页面。10.1.1HTTP的工作原理 由于HTTP协议基于请求/响应范模式(相当于客户机/服务器),一个客户机与服务器建立连接后,发送一个请求给服务器,请求格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和源服务器(Originserver)之间通过一个单独的连接来完成。如下图示: 用户代理UA源服务器(O)连接V请求链响应链 当一个或多个中介出现在请求/响应链中时,情况就变得复杂一些。中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel)。一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。下面的图表明了在用户代理(UA)和源服务器(O)之间有三个中介(A,B和C)。一个通过整个链的请求或响应消息必须经过四个连接段。这个区别是重要的,因为一些HTTP通讯选择可能应用于最近的连接、没有通道的邻居,应用于链的终点或应用于沿链的所有连接。尽管下图是线性的,每个参与者都可能从事多重的、并发的通讯。例如,B可能从许多客户机接收请求而不通过A,并且/或者不通过C把请求送到A,在同时它还可能处理A的请求。用户代理UA连接V请求链响应链连接V连接V连接V源服务器(O) 任何针对不作为通道的汇聚可能为处理请求启用一个内部缓存。缓存的效果是请求/响应链被缩短,条件是沿链的参与者之一具有一个缓存的响应作用于那个请求。下图说明结果链,其条件是针对一个未被UA或A加缓存的请求,B有一个经过C来自O的一个前期响应的缓存拷贝。 在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。用户代理UA连接V请求链响应链连接V源服务器(O) 下面讨论HTTP协议下客户/服务器模式中信息交换的实现。 1)建立连接:通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。 2)发送请求:打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。HTTP/1.0请求消息的格式为: 请求消息=请求行(通用信息|请求头|实体头)CRLF[实体内容] 请求行=方法+请求URL+HTTP版本号+CRLF 方法=GET|HEAD|POST|扩展方法 URL=协议名称+宿主名+目录与文件名 方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的,对应关系如下: 对象GET的结果 文件文件的内容 程序该程序的执行结果 数据库查询查询结果 HEAD:要求服务器查找某对象的元信息,而不是对象本身。 POST:从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到。用于发送HTML文本中FORM的内容,让CGI程序处理。 下面举一个请求的例子: GETHTTP/1.0头信息又称为元信息,即信息的信息,利用元信息可以实现有条件的请求或应答。请求头——告诉服务器怎样解释本次请求,主要包括用户可以接受的数据类型、压缩方法和语言等。实体头——实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。实体——请求或应答对象本身。3)发送响应:服务器在处理完客户的请求之后,要向客户机发送响应消息。HTTP/1.0的响应消息格式如下: 响应消息=状态行(通用信息头|响应头|实体头)CRLF(实体内容) 状态行=HTTP版本号状态码原因叙述 状态码表示响应类型 1××保留 2××表示请求成功地接收 3××为完成请求客户需进一步细化请求 4××客户错误 5××服务器错误

响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。4)关闭连接:客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话。10.3Web服务器 在最简单的情况下,Web服务器就是一台计算机,它使用Internet传输协议和一个快速的Internet连接,向客户计算机发送其需要的HTML文件。然而,随着Internet的发展,最新型的Web服务器的配置越来越像传统的客户/服务器和多媒体系统。今天的Web服务器在Internet(或Intranet)上提供音频和视频服务,通信和协作服务,在客户输入的基础上动态地产生内容,下载组件和软件,影响和操作数据库应用程序及其他系统,在Internet上处理商务,并且提供大量的其他服务。Internet上的Web服务器 Internet上的计算机通过IP地址(如,1)来确认。这些IP地址和每个机器相应的域名由Internet上的DNS(域名服务)服务器管理。这些服务器不断地保持同步并更新它们的数据库列表,这些数据库列表包含了Internet上唯一的用数字表示的IP地址和域名。当前,WorldWideWeb的通信量在Internet通信量中占了很大的部分。web服务器通过高速通信线路直接与Internet连接。这些服务器运行Web服务器软件,该软件使用HTTP(超文本传输协议)越过TCP/IP接收和发送HTIP的页请求,并把数据反馈给客户浏览器。HTTP是通过Web传送超文本文件(例如htm文件)的协议。 Internet使用HTTP协议在内部网络上传送文件。公司在他们现有的基于TCP/IP的网络上建立并配置Web服务器。Internet创作工具和组件技术使一些组织能够开发出更便宜的Interanet的Web服务器是企业网络的一部分。 当使用WindowsNTServer和IIS建立企业内部互连网时,Web服务器成为现有的安全的企业网络的一部分,它允许用户访问HTML文件、Web应用程序、共享文件和打印机以及通过WindowsNTServer网络登录在的有的Web服务器上共享系统信息。 还可以配置WindowsNTServer,针对不同的用户对Web服务器上的文件确定不同的访问级别。WindowsNT安全系统的适当的设置、安装防火墙软件和硬件来控制访问,使你能够为企业内部互连网以外的用户开放部分的内部网络。在本章的“安全性”一节中介绍关于防火墙软件的更多信息。Web服务器必须具备的条件 运行Internet或Intranet应用程序的服务器,是你的商业事务中非常重要的部分。它们必须安全、可靠地运行,以确保对你的顾客不会产生任何影响。当然,它们也必须具有一定的伸缩性,使你的业务以所需的速度发展。在以下的小节中总结了Web服务器需要的软件和硬件。Web服务器硬件 运行InternetInformationServer4.0和WindowsNTServer4.0Web服务器的推荐硬件如下表所示。(这些推荐硬件不是最低要求,而是Microsoft为运行良好的系统推荐的。)RAM 如果建立的Web系统主要处理HTTP文件请求,那么当通信量增加时,在使用器中的处理或RAM超过负荷之前,很有可能用完网络的带宽。然而,确保计算机中有足够的RAM使系统能够快速地对文件服务,并且把许多用户经常访问的文件保持在高速缓冲里。至少,确保购买的计算机在增加网络带宽时,有能力增加RAM的数量。Internet连接 Web服务器通过一条或多条高速通信线路直接与Internet连接。无论是要求销售商来安装通信线路,还是把服务器连接到Internet服务提供商(IPS)的现存线路上,都必须了解Internet连接速度(ICS)和相关的硬件的基础知识。估计带宽需求是一个复杂的过程,通常涉及以下因素:用户要下载的文件的大小(KB)和数量、在同一时刻你所期望的用户数量。MaxRequestsPerChild30 使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗,Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大的提高了性能。 但由于在处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的httpd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。这样,每个子进程处理服务请求次数由MaxRequestPerChild定义。缺省的设置值为30,这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置,可以设置为1000甚至更高,设置为0支持每个副本进行无限次的服务处理。#Listen3000

#Listen8:80

#BindAddress* 10.3.1Microsoft的IIS服务器 IIS是一个Internet文件,IIS本身可以作为一个Web服务器,或者与相关的兼容技术一起建立Internet商务,访问并处理不同数据源中的数据以及建立利用服务器脚本和组件代码传送客户/服务器功能的Web应用程序。管理 IIS的InternetServiceManager使得管理者可以创建Web和FIP站点、改变站点的默认设置、向服务器操作者分配任务、启动和停止站点、管理事务、查看统计资料、本地或远程地管理任务,并为Web服务器或其他的服务器执行其他的管理任务。使用InternetServiceManager作为到MicrosoftManagementConsole(MMC)(WindowsNT的管理程序)的咬接。利用ManagementConsole,每个管理者都可以自定义网络管理任务。安全性 如果Internet中需要安全事务,IIS能提供SecureSocketsLayer(SSL)支持作为信息在客户与服务器之间交换的一种方式。SSL服务器提供了数字鉴别以验证用户合法性。 IIS支持基本的身份验证(未加密的用户名和密码的发出)、Callenge/Response(密码的加密验证)以及服务器的登录密码(用于银行和其他财务机关的128位数字证明密码)。Microsoft通过MicrosoftProxyServer提供了防火墙安全、内容缓冲以及管理软件工具。代理服务器允许企业内部互连网的开发者给公司提供Web访问,并允许用户安全地浏览内部网络的某些部分。10.3.2Apache的配置1.配置文件 Apache1.3.*是一个后台运行的程序,没有界面。所有的配置,都包含在配置文件里。如果按上图安装,则主配置文件是: C:\Apache\conf\httpd.conf 如果要修改Apache的配置,可以用任何一个文本编辑工具(如记事本)编辑这个配置文件。在配置文件里,以“#”开头的行是注释行。2.配置选项 在配置文件里的主要选项如下: #Listen3000

#Listen8:80 Apache的IP地址和端口。一般来说不需要设置,Apache会绑定在本机所有IP地址的80端口上。 Port80 Apache的端口。默认值是80。 ServerName 3.高级配置 1)设置虚拟目录:在配置文件中找下面这行: <IfModulemod_alias.c> 在这行下面添加如下内容: Alias/www1/"c:/123/" <Directory"c:/123/">

OptionsMul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论