首先看一下OSI(Open Systems Interconnection)网络体系结构:

TCP
按层次分,TCP处于传输层,提供可靠的字节流服务,主要解决数据如何在网络中传输。
字节流服务(Byte Stream Service):为了方便运输,将大块数据分割成报文段(segment)为单位的数据包进行管理。可靠的传输服务是指能够把数据准确可靠地传给对方。
TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达给对方。
TCP采用了三次握手(three-way handshaking)策略和四次挥手策略 来确认数据是否送达给对方。
HTTP
按层次分,HTTP处于应用层,用于客户端和服务端之间的通信,主要是解决如何包装数据。
HTTP协议能够明确区分哪端是客户端,哪端是服务端。
HTTP是不保存状态的协议,即无状态协议。
HTTP协议是建立在TCP之上的。
