HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。
这个协议已经成为浏览器和Web站点之间的标准。 当我上网的时候底层是如何进行交互的? 当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,一个pdf文件)。 HTTP工作的基础就是,连接一个服务器并开始传输文件到浏览器。 HTTP传输的基本过程 在http传输的过程中,被称为客户端的请求者向服务器请求一个文件。 最基本的过程是: 1 客户端连接一个主机; 2 服务器接收连接, 3 客户端请求一个文件, 4 服务器发送一个应答. 实例 我们看几个典型的过程 首先,我们想访问本页面。在浏览器上敲入“http://www./resource/rs_041112_02.php”.浏览器将连接www.然后发送: >> GET /resource/rs_041112_02.php Http1.1 >> Host: www. >> 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.之间的连接,并请求获得多的文件,包括网页中的图片。翻译成语言上面是: >> 用HTTP1.1协议获得 /resource/rs_041112_02.php >> 访问的主机是: www. >> 接收的文件包括了: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, >> 使用的语言是: en >> 接收的编码方式(浏览器能够解释的)是: gzip, deflate >> 用户的浏览器信息:Windows XP的操作系统 Firefox/0.10的浏览器 >> 保持连接: 还要去图片 >> www.的服务器发出响应: << 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./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协议中具体的命令了解,就需要阅读 - 作者: trueman 2005年09月4日, 星期日 20:31 回复(0) | 引用(0) 加入博采 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 连接,当要 传送的文件很小时就非常不合算了。另外由于服务器不能保留检索轨迹,因而为 口令记忆等带来了很大的麻烦,导致系统效率下降。 |
|