Http协议概览

 

      HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。

      这个协议已经成为浏览器和Web站点之间的标准。

      当我上网的时候底层是如何进行交互的?

      当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,一个pdf文件)。

      HTTP工作的基础就是,连接一个服务器并开始传输文件到浏览器。

HTTP传输的基本过程

     在http传输的过程中,被称为客户端的请求者向服务器请求一个文件。 最基本的过程是:
           1 客户端连接一个主机,
           2 服务器接收连接, 
           3 客户端请求一个文件, 
           4 服务器发送一个应答.

实例

我们看几个典型的过程

      首先,我们想访问本页面。在浏览器上敲入“http://www.maketop.net/resource/rs_041112_02.php”.浏览器将连接www.maketop.net然后发送: 

           >> GET /resource/rs_041112_02.php Http1.1 
           >> Host:
www.maketop.net 
           >>
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
           >> Accept-Language: en 
           >> Accept-Encoding: gzip, deflate 
           >> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10 
           >> Connection: Keep-Alive 
           >>

      解释:浏览器请求页面“/resource/rs_041112_02.php”。并使用HTTP1.1协议。并告诉服务器你的浏览器是Firefox0.10。操作系统是Windows XP。 浏览器希望保持与www.maketop.net之间的连接,并请求获得多的文件,包括网页中的图片。翻译成语言上面是: 

           >> 用HTTP1.1协议获得 /resource/rs_041112_02.php 
           >> 访问的主机是:
www.maketop.net 
           >> 接收的文件包括了: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
           >> 使用的语言是: en 
           >> 接收的编码方式(浏览器能够解释的)是: gzip, deflate 
           >> 用户的浏览器信息:Windows XP的操作系统 Firefox/0.10的浏览器 
           >> 保持连接: 还要去图片 
           >>


      www.maketop.net的服务器发出响应: 

           << HTTP/1.1 200 OK 
           << Date: Mon, 12 Mar 2004 19:12:16 GMT 
           << Server: Apache/1.3.31 (Unix) mod_throttle/3.1.2 
           << Last-Modified: Fri, 22 Sep 2004 14:16:18 
           << ETag: "dd7b6e-d29-39cb69b2" 
           << Accept-Ranges: bytes 
           << Content-Length: 3369 
           << Connection: close 
           << Content-Type: text/html  
           << File content goes here

      浏览器并从服务器的响应中获得服务器的信息:比如运行在Apache。上面翻译成翻译成语言上面就是RFC 2616

(摘自:http://www.maketop.net/resource/rs_041112_02.php) 

           << HTTP1.1协议方式有效 
           << 当前时间是: Mon, 12 Mar 2004 19:12:16 GMT 
           << 服务器是: Apache/1.3.31 (Unix) mod_throttle/3.1.2 
           << 最后一次修改: Fri, 22 Sep 2004 14:16:18 
           << ETag: "dd7b6e-d29-39cb69b2" 
           << Accept-Ranges: bytes 
           << Content-Length: 3369 
           << Connection: close 
           << Content-Type: text/html 
           << File content goes here

     上面例子就是最简单的交互过程描述,需要对HTTP协议中具体的命令了解。

 

      HTTP(超文本传输协议,Hyper-Text Transport Protocol )是用于在互联网上传输超文本文件的协议。它对一个HTTP客户程序和一个HTTP服务程序进行端 对端的连接。

 

      HTTP是在WWW (WWW )上所应用的最重要的协议。它是Web 自己的协议,用来从一个HTTP服务器上检索信息。这可以是用HTML写的文本文件,静态图象,声音文件,动画视频或仅是简单的文本文件:HTTP服务器知道怎样识别文件类型,并通过线路在传输之前告诉你的浏览器将要传来什么样的文件,以便浏览器知道如何对待。

      HTTP是Web 技术中的一个最基本的协议,它是一个应用层协议,直接用TCP层传递。整个协议的通信过程十分简单。

      为了要讲清HTTP传送一个文件的通信过程,首先有必要来重申一下URL 的概念。URL (Uniform Resource Locator)的中文意思为统一资源定位器,它是用来确定在IP网上Web 系统信息资源的位置的,URL 从结构上讲很有点像计算机中的文件名,例如下面就是一个URL. 

           http://info.cern/hypertext/Geo.html

      这个URL 实际上要找的是Geo.html文件,前面都是路径名。在Web 系统中,就是用URL 来寻找相应文件的。当然实际上URL 还可以有复杂的形式并可带各种相关参数。在基本了解了URL 后,就可以来看HTTP是怎样工作的了。当客户机向 服务器请求一个文件时,首先要建立一条TCP 连接,在TCP 连接好后,客户机就 向服务器发送URL ,让服务器根据URL 去寻找相应的文件,找到文件后就从已建 立好的TCP 通道上发给客户机,文件发送完毕即拆除TCP 连接。当要寻找另一个 文件时,需要重复上述过程。

      从上述过程可以看出,HTTP协议十分简单。使用HTTP后,服务器需要做的事 只是接受一个请求(URL ),根据用户的请求发送相应文件,服务器不要做任何 检索轨迹的记录,从而使一个服务器支持的用户数大为增加。但HTTP也有不少缺 点,因为其简单,每传一个文件就要建一次TCP 连接、拆除一次TCP 连接,当要 传送的文件很小时就非常不合算了。另外由于服务器不能保留检索轨迹,因而为 口令记忆等带来了很大的麻烦,导致系统效率下降。

 

 

   声明:以上文字转载自 百度知道          

 

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值