计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于混合TCP-UDP的HTTP协议实现方法(2)

2015-12-12 01:09
导读:1 背 景 HTTP是一个请求/响应协议,客户端的应用程序通过提供一个URL可以从服务器上得到所需的数据。HTTP可以用来访问各种不同类型的资源,其中包括文

1 背 景

  HTTP是一个请求/响应协议,客户端的应用程序通过提供一个URL可以从服务器上得到所需的数据。HTTP可以用来访问各种不同类型的资源,其中包括文本、图形、影音、可执行文件、数据库查询结果等等。

  图2给出了在客户端发起HTTP GET请求后,在客户端和服务器之间进行数据包交换的示意。图中只有两个数据包是有用的(即携带了数据):一个是HTTP GET请求,另一个是HTTP的响应。其它的都是TCP用来进行握手操作的数据包。为了减轻Web服务器的负荷,经常采用重定向机制。这样从服务器发来的重定向响应报文是很短的数据包。使用TCP作为传输协议需要至少7个数据包,而使用UDP则只需要2个数据包就足够了。

2 设 计

  我们使用混合传输层[6]的方法即对于少量数据传输的链接采用UDP,而对于大量数据传输的链接采用TCP作为传输层协议。这样对于短链接而言就避免了TCP经常性的握手开销,而对于长链接则仍可获得TCP的优点,如超时重传、拥塞控制、错误恢复机制等。这种方法中,客户端首先尝试使用UDP作为传输层的协议,如果对于所请求的URL UDP并不适合,则再次使用TCP链接。这种方法提供了以下保证:

◇ 如果初始的UDP数据包丢失,将采用TCP重新链接而不会受到影响。

◇ 如果所链接的服务器没有使用混合传输层的实现机制,客户端将使用TCP重新进行链接。

  图3给出了混合TCP、UDP的实现算法。一个采用混合算法的HTTP客户端首先使用UDP作为传输层的协议发出HTTP GET请求,同时启动超时定时器。

  当服务器处理客户端发来的请求时,它可以从以下两点做出选择:

上一篇:小议当前广场建设中存在的一些问题 下一篇:没有了