HTTP协议(二) TCP
众所周知(暂且这么说吧),HTTP协议是基于TCP的,我想我们有必要了解一下TCP协议,然后会对HTTP协议有个更深的了解。
TCP协议全称是传输控制协议,他是一种面向连接的协议,什么叫面向连接的协议?这个问题你也可以去google,简单点说,面向连接的协议,需要在建立连接以后,在连接上进行消息的传输,传输完毕后选择
关闭连接。我们就来看看这个过程吧。
1.首先是建立连接,TCP的连接建立采用三次握手的方式(如下图所示):
这张图是摘自其他人的一个博客,我们对照着图来看一下这个连接建立的过程。第一次握手,客户端(C)向服务端(S)发送syn报文,告诉S,我需要和你建立连接,并附带序列号为X,第二次握手,S接收到C的请求以后,发现原来和C认识,这下决定和C进行第二次握手,作为验证,S会将C第一次发送的序号X增加一,并发送自身的序列号Y来表明身份,当C收到S发送的的响应消息以后,发现原来S这么客气,决定将S发送的序号+1 发送给S,然后和S进行第三次握手。这下好了,三次握手完毕,C/S建立一条双方都信任的连接了。
2.建立连接完毕以后,我们就要在这个通道上发送数据了,怎么发送?打个比方给你听吧,军队行军打仗,遇到了无法逾越的沟堑的时候,他们需要搭建一个临时的桥梁,桥梁搭建完毕,军队就可以在上面行军了,消息也是一样,连接建立完毕,我们就可以在上面传输数据了,明白否?
3.关闭连接,士兵越过沟堑以后需要把临时搭建的桥梁拆了(当然你也可以不拆,为了后续部队使用),消息传输完毕也是一个意思,需要把连接关闭,你问关闭的时候需要握手么?你说呢?见面都这么客气了,中间合作的也这么愉快,结束当然也要握手啦,还得多握手一次
这个详细的过程就不过多赘述了,无非是两边多寒暄了几句,互相确认下身份信息而已,防止告别错了。
好了,OVER了,TCP协议就做一个简单的介绍,如果需要详细的TCP解释,依然可以去google去。
posted on 2010-10-18 15:11 CoderOnRails 阅读(731) 评论(0) 编辑 收藏 举报