首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>服务器技术>WEB服务器>正文

新手入门:了解WWW服务与HTTP协议(图)

http://www.oklinux.cn  2005-11-02  来源: oklinux收集   会员收藏  游客收藏  【 】 

  在前一篇文章里,我们介绍了网络应用和网络协议的一些基础知识,现在,让我们来了解一下WWW服务应用和HTTP网络协议。
  
  历史上,先后问世了多个具有重大社会影响的电子通信技术。第一个这样的技术是19世纪70年代发明的电话。电话使得不在同一物理位置的两人得以实时地口头交流。它对社会有重大的影响——有好的也有坏的。下一个电子通信技术是20世纪20年代及30年代问世的广播收音机/电视机。广播收音机/电视机使得人们能收听收视大量的音频和视频信息。它对社会同样有重大的影响——有好的也有坏的。改变了人们的生活与工作方式的第三个重大通信技术是web。web最吸引用户的也许是它的随选(on demand)操作性。用户只在想要时收到所要的东西。这一点不同于广播收音机/电视机。广播收音机/电视机的用户是在其内容供给商播出内容期间被迫收听收视。除了随选操作性,Web还有许多大家喜爱的其他出色特性。任何个人都可以极其轻易地在Web上公布任何信息;任何人都可能以极低的成本成为发行人。超链接和搜索引擎帮助我们在Web站点的海洋中导航。图形和动画刺激着我们的感官。表单、Java小应用程序、Activex控件以及其他许多设备使得我们能与Web页面和站点交互。Web还越来越普遍地提供存放在因特网中的、可随选访问(即点播)的大量音频和视频材料的菜单接口。
  
  HTTP概貌
  
  Web的应用层协议HTTP是Web的核心。HTTP在Web的客户程序和服务器程序中得以实现。运行在不同端系统上的客户程序和服务器程序通过交换HTTP消息彼此交流。HTTP定义这些消息的结构以及客户和服务器如何交换这些消息。在具体解释HTTP之前,我们先往返顾一些web中的术语。
  
  Web页面(web page,也称为文档)由多个对象构成。对象(object)仅仅是可由单个URL寻址的文件,例如HTML文件、JPG图像、GIF图像、JAVA小应用程序、语音片段等。大多数Web页面由单个基本HIML文件和若干个所引用的对象构成。例如,假如一个Web页面包含HTML文本和5个JPEG图像,那么它由6个对象构成,即基本H1ML文件加5个图像。基本HTML文件使用相应的URL来引用本页面的其他对象。每个URL由存放该对象的服务器主机名和该对象的路径名两部分构成。例如,在如下的URL中:
  
  www.chinaitlab.com/urlpath/picture.qif
  
  www.chinaitlab.com是一个主机名,/urlpath/picture.qif是一个路径名。浏览器是web的用户代理,它显示所请求的Web页面,并提供大量的导航与配置特性。Web浏览器还实现HTTP的客户端,因此在web上下文中,我们会从进程意义上互换使用“浏览器”和“客户”两词。流行的Web浏览器有Netscape Communicator,firefox和微软的IE等。Web服务器存放可由URL寻址的Web对象。web服务器还实现HTTP的服务器端。流行的Web服务器有Apache、微软的IIS以及Netscape Enterprise Server。Netcraft提供了web服务器的概要剖析[Netcrft 2000]。
  
  HTTP定义Web客户(即浏览器)如何从web服务器请求Web页面,以及服务器如何把Web页面传送给客户。下图展示了这种请求—响应行为。当用户请求一个Web页面(譬如说点击某个超链接)时,浏览器把请求该页面中各个对象的HTTP请求消息发送给服务器。服务器收到请求后,以运送含有这些对象HTTP响应消息作为响应。到1997年底,基本上所有的浏览器和Web服务器软件都实现了在RFC 1945中定义的HTTP/1.0版本。1998年初,一些Web服务器软件和浏览器软件开始实现在RFC 2616中定义的HTTP/1.1版本。H1TP/1.1与HTTP/1.0后向兼容;运行1.1版本的web服务器可以与运行1.0版本的浏览器“对话”,运行1.1版本的浏览器也可以与运行1.0版本的Web服务器“对话”。
  
 
  图1 HTTP请求与响应行为

  
  HTTP/1.0和HTTP/1.1都把TCP作为底层的传输协议。HTTP客户首先发起建立与服务器TCP连接。一旦建立连接,浏览器进程和服务器进程就可以通过各自的套接字来访问TCP。如前所述,客户端套接字是客户进程和TCP连接之间的“门”,服务器端套接字是服务器进程和同一TCP连接之间的“门”。客户往自己的套接字发送HTTP请求消息,也从自己的套接字接收HTTP响应消息。类似地,服务器从自己的套接字接收HTTP请求消息,也往自己的套接字发送HTTP响应消息。客户或服务器一旦把某个消息送入各自的套接字,这个消息就完全落入TCP的控制之中。TCP给HTTP提供一个可靠的数据传输服务;这意味着由客户发出的每个HTTP请求消息最终将无损地到达服务器,由服务器发出的每个HTTP响应消息最终也将无损地到达客户。我们可从中看到分层网络体系结构的一个明显优势——HTTP不必担心数据会丢失,也无需关心TCP如何从数据的丢失和错序中恢复出来的细节。这些是TCP和协议栈中更低协议层的任务。
  
  TCP还使用一个拥塞控制机制。该机制迫使每个新的TCP连接一开始以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。这个慢速传输的初始阶段称为缓启动(slow start)。
  
  需要注重的是,在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。相反,服务器重新发送这个对象,因为它已经彻底忘记早先做过什么。既然HTTP服务器不维护客户的状态信息,我们于是说HTTP是一个无状态的协议(stateless protocol)。
  
  非持久连接和持久连接
  
  HTTP既可以使用非持久连接(nonpersistent connection),也可以使用持久连接(persistent connection)。HTTP/1.0使用非持久连接,HTTP/1.1默认使用持久连接。
  
  非持久连接
  
  让我们查看一下非持久连接情况下从服务器到客户传送一个Web页面的步骤。假设该贝面由1个基本HTML文件和10个JPEG图像构成,而且所有这些对象都存放在同一台服务器主机中。 再假设该基本HTML文件的URL为:www.chinaitlab.com/somepath/index.html。
  
  下面是具体步骡:
  
  1.HTTP客户初始化一个与服务器主机www.chinaitlab.com中的HTTP服务器的TCP连接。HTTP服务器使用默认端口号80监听来自HTTP客户的连接建立请求。
  
  2.HTTP客户经由与TCP连接相关联的本地套接字发出—个HTTP请求消息。这个消息中包含路径名/somepath/index.html。
共2页: 上一页 1 [2] 下一页

上一篇:教你快速创建IIS站点虚拟目录   下一篇:Win2000ADV下配置Apache PHP5 MySql5


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Win2000ADV下配置Apache PHP5 MySql5
·教你快速创建IIS站点虚拟目录
·解答终端服务与远程桌面区别(组图)
·Win服务器入门--IIS安装与配置(组图)
·Win2003服务器组网、安全管理全攻略一
·Win下配置Apache2,PHP5,MYSQL5,Zend
·Win2003服务器组网、安全管理全攻略二
·让Windows主机在IIS支持PHP和MySQL(图)
·Apache php mysql在windows下的安装与配置图解
·Win2003web服务器无法上传大文件解决方法
·Win2000IIS安全构建指南
·有备无患教你建立多Web服务器备份
·基于网格的面向专业的Web信息检索体系
·win2003使用ISAPI_Rewrite方法
·win2003编写asp代码要注意的地方
·15条Windows2003操作技巧
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·WEB服务器流量超负载:如何分散解决?
·Frontpage服务器扩充程序
·“http 500内部服务器错误”的解决方法
·Windows2003校园Web服务器常见问题(图)
·资深网管教你打造SSL加密的安全站点1(
·资深网管教你打造SSL加密的安全站点2(
·资深网管教你打造SSL加密的安全站点3(
·资深网管教你打造SSL加密的安全站点4(
·用Server 2003建匿名访问服务器(图)
·资深网管教你WIN2K下如何一机多"站"一(
·新手入门之认识典型Web服务器(图)
·资深网管教你WIN2K下如何一机多"站"二(
  阅读排行
·Apache php mysql在windows下的安装与
·Win2003服务器组网、安全管理全攻略二
·IIS配置及安全访问控制策略详解
·Win2003服务器组网、安全管理全攻略一
·WEB专用服务器的安全设置的实战技巧
·Win2003实现Web虚拟网站操作篇
·从权限入手解决IIS PHP环境故障
·IIS5.1和IIS6.0一些显著的重要区别
·解答终端服务与远程桌面区别(组图)
·网管经验谈-巧妙搭建IIS下PHP环境
·Win2000IIS安全构建指南
·使用IIS5.0调整Web服务器的艺术与科学
·巧施妙手,排除IIS特殊管理困惑
·Longhorn下的IIS是Apache杀手么?
·Windows2003基本的web服务器安全设置
网摘收藏: