- 软件通信七层结构(osi模型)中由协议套协议最终组成最高级应用层协议(http等等),下三层结构偏向与数据通信,上三层更偏向于数据处理,中间的传输层则是连接上三层与下三层之间的桥梁,每一层都做不同的工作,上层协议依赖与下层协议。
- 七层结构的最主要功能就是帮助不同系统的主机在不同的网络中进行数据传输。
- 数据传输层:tcp、udp协议,tcp协议依赖互联网协议(ip层协议)。
- socket在第五层会话层,它并不是一个协议,而是一组接口(api),更是一个规范,为了方便使用底层协议而存在的一种抽象层。
- websocket,http 等协议都是应用层协议(更面向于用户),依赖于传输层tcp协议。
- websocket 在进行通信时,使用了http进行一次握手,数据传输使用tcp通道传输。
Socket 与 websocket 的区别:
- socket是tcp的协议接口规范,直接进行tcp的三次握手:client向server发送请求报文,server回复ack报文并分配资源,client发送报文并分配资源,连接建立。
- websocket是基于tcp的应用层协议,采用一次HTTP握手。其发送的请求报文和socket是有区别的,它发送的东西除了你要发送的东西外,还包含了websocket协议规范要求的格式,而socket发送的就单是你发送的东西,不包含什么别的。
- 可以理解为websocket或者http是对tcp协议的一个封装。