首先要知道什么是确认,它的意思就是发送方给接收方发送一个TCP分段,接收方收到以后要回传一个确认表示收到,如果在一定时间内发送方没有收到该确认那么就需要重发该TCP分段。
确认报文通常都比较小,也就是一个IP分组可以承载多个确认报文,所以为了避免过多的发送小报文,那么接收方在回传确认报文的时候会等待看看有没有发给接收方的其他数据,如果有那么就把确认报文和数据一起放在一个TCP分段中发送过去,如果在一定时间内容通常是100-200毫秒没有需要发送的其他数据那么就将该确认报文放在单独的分组中发送。其实这么做的目的也是为了尽可能降低网络负担。
快速提高HTTP的访问速度
请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1
以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。
根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet应用中,最常用的方法是GET和POST。
URL完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最后,协议版本声明了通信过程中使用HTTP的版本。
TCP/IP协议族重要的一点就是分层。TCP/IP协议族按层次划分分别是:应用层、传输层、网络层和数据链路层。把塔层次化是有好处的。比如:当某个地方需求变更时,就必须吧所有的整体替换掉。而分层之后只需要把变动的层替换掉即可。下面介绍一下每个层次的作用
应用层
应用层决定了向用户提供应用服务时通信的活动。比如:ftp,dns服务就是其中的两类。HTTP协议也处于该层。
传输层
传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP和UDP。
网络层
网络层用来处理网络上流动的数据包。数据包是网络传输的最小单位。该层规定了通过怎样的路径到达对方计算机,并把数据包发送给对方。
链路层
用来处理链接网络的硬件部分。包括操作系统、硬件的设备驱动、网卡及光纤等物理可见部分。
|