查看: 5907|回复: 1

HTTP-超文本传输协议( HyperText Transfer Protocol )

[复制链接]
发表于 2007-7-17 11:51:35 | 显示全部楼层 |阅读模式
概要:

名   称            超文本传输协议
协议簇            TCP/IP
协议层            应用层
类   型            文件传输协议
最新版本         HTTP 1.1
端   口            HTTP: TCP80, 8008, 8080  服务端
                     S-HTTP: TCP80  服务端
                     HTTPS: TCP443  服务端 over SSL/TLS
相关协议         WebDAV、Web Distributed Authoring and Versioning
URI                http, https
MIMEsubtype  application/http, message/http, message/s-http
工作组           HTTP, HyperText Transfer Protocol
                    WTS, Web Transaction Security
                    Webdav, WWW Distributed Authoring and Versioning


描述:

      HTTP(Hypertext Transfer Protocol),即超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。HTTP协议是基于TCP/IP之上的协议,它不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪一部分内容首先显示(如文本先与图形)等等。

      它互联网上应用最为广泛的一种网络传输协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 目前的应用主要除了HTML网页外还被用来传输超文本数据 例如:图片、音频文件(MP3等)、视频文件(rm、avi等)、压缩包(zip、rar等)……基本上只要是文件数据均可以利用HTTP进行传输。
      
      HTTP1.0和HTTP1.1都把TCP作为底层的传输协议。HTTP客户首先发起建立与服务器TCP连接。一旦建立连接,浏览器进程和服务器进程就可以通过各自的套接字来访问TCP。如前所述,客户端套接字是客户进程和TCP连接之间的“门”,服务器端套接字是服务器进程和同一TCP连接之间的“门”。客户往自己的套接字发送HTTP请求消息,也从自己的套接字接收HTTP响应消息。类似地,服务器从自己的套接字接收HTTP请求消息,也往自己的套接字发送HTTP响应消息。客户或服务器一旦把某个消息送入各自的套接字,这个消息就完全落入TCP的控制之中。TCP给HTTP提供一个可靠的数据传输服务;这意味着由客户发出的每个HTTP请求消息最终将无损地到达服务器,由服务器发出的每个HTTP响应消息最终也将无损地到达客户。我们可从中看到分层网络体系结构的一个明显优势——HTTP不必担心数据会丢失,也无需关心TCP如何从数据的丢失和错序中恢复出来的细节。这些是TCP和协议栈中更低协议层的任务。

      TCP还使用一个拥塞控制机制。该机制迫使每个新的TCP连接一开始以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。这个慢速传输的初始阶段称为缓启动(slow start)。



相关术语:

连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。

消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。

请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号。

响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。

资源(Resource):由URI标识的网络数据对象或服务。

实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。

客户机(Client):一个为发送请求目的而建立连接的应用程序。

用户代理(User agent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。

服务器(Server):一个接受连接并对请求返回信息的应用程序。

源服务器(Origin server):是一个给定资源可以在其上驻留或被创建的服务器。

代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。

网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。

通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。

客户机(Client):一个为发送请求目的而建立连接的应用程序。

Daemon:是一段连续运行的程序,用于处理计算机系统希望接收到的阶段性的服务需求的。Daemon程序段将请求提交给其他合适的程序(或者进程)。网络上每个页面的服务器都有一个HTTPD或者是超文本传输协议daemon,持续地等待从网络客户端及其用户发送来的请求。

关联协议

关联协议
回复

使用道具 举报

发表于 2007-7-17 17:58:37 | 显示全部楼层
感觉图不是很全的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表