参考:https://www.cnblogs.com/fuqiang88/p/5956363.html

- HTTP
- HTTP是非持久的协议
- 服务端不用维护客户端信息,减少工作量
- 不用维持tcp连接?
- 最初的目的是传输html,所以一问一答就足够了
- 但是有些情况需要保持状态,比如表单,可以通过cookie、session实现
- HTTP的生命周期通过
Request
来界定,也就是一个 Request
一个 Response。
- 被动型:其实就是,服务端不能主动联系客户端,只能有客户端发起
- 1.0
- 在
HTTP1.0
中,这次HTTP请求就结束了。
- 1.1
- 在HTTP1.1中进行了改进,使得有一个keep-alive,也就是说,在一个HTTP连接中,可以发送多个Request,接收多个Response。但是请记住
Request = Response
, 在HTTP中永远是这样,也就是说一个request只能有一个response。而且这个response也是被动的,不能主动发起。
- HTML5
- Html5是指的一系列新的API,或者说新规范,新技术。Http协议本身只有1.0和1.1,而且跟Html本身没有直接关系。通俗来说,可以用HTTP协议传输非Html数据。
- 为了持续、实时性、貌似主动性的交互需求,在Websocket之前还出现过两种:
- Websocket
- Websocket是一个持久化的协议
- Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手
Websocket
其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充
- 必须客户端支持
何为被动性呢,其实就是,服务端不能主动联系客户端,只能有客户端发起
Websocket
原文:https://www.cnblogs.com/wyp1988/p/9946579.html