TCP协议与HTTP协议进行比较
一,特点
1,HTTP协议特点
- 支持客户端/服务器(C/S)模式
- 简单快速
- 灵活
- 无连接
- 无状态
(说的是:支持客户端/服务器(C/S)模式支持客户端/服务器(C/S)模式。
但是HTTP协议一般都是用在 浏览器/服务端(B/S)模式下的)
2,TCP协议特点
- 客户端/服务器(C/S)模式
- 长连接
- 有状态
二,含义解释
1,无状态与有状态
http协议是无状态协议,即下一次的http请求与上一次的http请求没有任何关系,是一次独立的请求,没有任何上下文关系,即不记录上下文。但是TCP是有状态的协议,TCP下一次传输的报文段和上一次传输的报文段是有顺序关系的,最终要按照报文段里的序列号对所有报文段进行重排序。
无状态服务器是指一种把每个请求作为与之前任何请求都无关的独立的事务的服务器。
(所以举个例子,当我们需要把登陆页和首页联系起来的时候,就需要一些工具)
看见了别的博主的说法,将状态理解为‘记忆’。
tcp协议是有状态的,并且,在tcp三次握手进行 设备端与服务端连接的时候也充分体现了这一点。
服务端接收到设备端发送的请求,是一个状态
服务端返回请求数据给设备段,这时设备端是一个状态
设备端再次发送数据给服务端,服务端接收到请求,这时又是一个状态。
(也就是说,TCP协议有不同的记忆,而且可以拼接。
但是HTTP协议记性不好,第一次见了面第二次就不会记得了。不!是它根本不会去记。下次见面的时候直接说要做的事情就好了)
2,长连接与短连接
HTTP协议是短连接,有时候也被为无连接。
短连接就是对数据进行一次收发处理(在HTTP协议中也就是请求响应)之后,下次数据的收发又会再次进行连接。也就是说,这个连接不会保持。
TCP协议则是长连接。
TCP协议呢通过三次握手之后则是连接状态,此时这种状态会保持。
直到四次挥手之后才会断开连接。
并且还有一个特点:
短连接只能设备段或者浏览器向服务器发送请求,然后服务器进行响应。
服务器不会主动对设备段或者浏览器发送请求。
而长连接是两方相互的,设备端可以向服务器发送请求,服务器也可以向设备端发送请求。
(就像打电话,你可以先说话,对方也可以先说话)
优点肯定就是实时性,即时通讯。
缺点:设备会更耗电