基于混合TCP-UDP的HTTP协议实现方法
摘要:目前,用于Web页面访问的应用都是基于HTTP应用协议的,而在下层则使用传输控制协议(TCP)[1]作为传输协议;但TCP并不适合于短会话,即只有少量的数据交换的情况。因为建立、撤销TCP链接的开销即使对于短会话也是必需的。在用于PDA(个人数字助理)中浏览器的设计中,根据无线网络延迟大、带宽窄的特点提出了一种混合TCP-UDP传输协议的方法来解决这一问题。本方法使用UDP[2]作为短会话时的传输层协议,而对于有大量数据需要传输时则使用TCP作为传输层的协议。这样,对于短会话可以避免TCP的额外开销,而对于长会话又可以得到由TCP提供的可靠传输和拥塞控制。
关键词:TCPUDPHTTPPDA
引言
超文本传输协议(HTTP)是目前通过Internet进行信息交换最主要的方式。HTTP协议是建立在请求/响应(request/response)模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME(MultipurposeInternetMailExtensions)样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息(包含服务器的信息、资源实体的信息和可能的资源内容)。图1给出了HTTP协议实现的一个简单模型。HTTP/1.0[3]为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性,因此HTTP/1.1[4]提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息,因此减少了链接建立的次数和经常性的链接开销。