websocket 端口_http、https、http2、websocket之间的关系

f5da2a4488883d4fed7782db3f0f20e2.png

http、https、http2、websocket之间的关系

5057aadebb1eaac755f52f928fc3e3c8.png 08ed37299c348cfcabf44b52f94eb503.png

http:目前绝大多数是http1.1版本,最原始的web协议,默认80端口,基于TCP协议。

https:加密的http协议,默认443端口,基于TCP协议。

http2:第二代http协议,相较于HTTP1.x,大幅度的提升了web性能。在与HTTP/1.1完全语义兼容的基础上,进一步减少了网络延迟和传输的安全性,基于TCP。

websocket:服务端推送,实现服务端客户端全双工通信,基于TCP。

45f4af9fe987ffc84e86798777fbed4c.gif

以上http,websocket都属于应用层协议,tcp属于传输层协议。

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。

实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议,而Socket本身不算是协议,它只是提供了一个针对TCP或者UDP编码的接口。

  我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

45f4af9fe987ffc84e86798777fbed4c.gif 00d3c3bf2faf151e87373cb4374d477f.png

HTTP2.0可以说是SPDY的升级版(基于SPDY设计的),但是依然存在一些不同点:

1、HTTP2.0支持明文传输,而SPDY强制使用HTTPS;

2、HTTP2.0消息头的压缩算法采用HPACK,而非SPDY采用的DEFLATE。

    总得来说,在HTML5规范下,最推荐使用ServerSent和WebSocket的方式进行服务器消息的推送。

ed8a2fe0d37f2f30009ca732991a8946.png

WebSocket是HTML5中的协议,支持持久连接;

首先HTMl5指的是一系列新的API,或者说新规范,新技术。WebSocket是HTML5中新协议、新API;

但是WebSocket是由http先发起的,然后再转为websocket连接;

ServerSent的方式,可以使服务端的开发依然应用以前的方式,但是其工作方式与Comet类似。

而WebSocket的方式,则对服务端的开发有着较高的要求,但其工作方式是完全的推送。

662db0853379b2a87951f330afaf1c89.png

欢度六一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值