• 从websocket协议出发,了解应用层协议,传输层协议,网络的7层协议


    其他关联连接 :TCP的三次握手(建立连接)和四次挥手(关闭连接)

    1、websocket是全双工,不同于传统半双工通信

    传统的Web应用中,浏览器与服务器交互都是半双工通信(但并不完全是半双工通信,服务器无法主动向浏览器推送)。

    ps:什么是单攻,半双工,全双工

    根据信息的传送方向,【串行通信】可以进一步分为单工、半双工和全双工三种。
    信息只能单向传送为"单工";
    信息能双向传送但不能同时双向传送称为"半双工";
    信息能够同时双向传送则称为"全双工"

    ps:什么是串行通讯、并行通讯

    串口通信指串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
    在串口通信中,常用的协议包括RS-232、RS-422和RS-485

    2、传统与websocket的连接步骤(都需要tcp三次握手)

    传统Web应用中浏览器与服务器进行数据交互通常需要经过以下几个步骤:

    1. DNS查询
    2. TCP三次握手
    3. 传送HTTP请求头
    4. 传送HTTP请求体(如果有)
    5. 服务器处理后传送响应头
    6. 服务器传送响应体
    7. 断开TCP连接

    在WebSocket中进行交互通常为以下几个步骤:

    1. DNS查询
    2. TCP三次握手
    3. WebSocket握手
    4. 浏览器发送请求
    5. 服务器发送响应
    6. 断开TCP连接

    如果仅是一次通信,二者差异并不是很大,甚至WebSocket比普通方式还要多一次握手。但在需要频繁交互数据时,WebSocket的优势就显露出来了。

    例如,当有10次数据交互时,前者要建立10个TCP连接(HTTP 1.0需要建立10次,HTTP 1.1可以通过长连接keep-alive复用TCP连接),然后要发送10次请求头(包含Cookie等信息,可能会达到K级别),接收的响应信息可能才几个字节(如某些心跳包),这样会极大的浪费带宽等资源。试想,如果你在做一个聊天应用,想要获取当前在线人数,你需要向服务器发送你的全部cookie(至少要几百个字节),除此之外HTTP头中还要包含其他信息,如URL、host等,这些都是必不可少的。最后服务器返回了几百个字节,但其中真正需要用到的只有不到10字节(只需要知道在线人数,其他信息都是无用的)。通过WebSocket,浏览器可以向服务器发送1~2字节的请求(不需要带上cookie验证身份,可以在握手时进行认证,一旦TCP连接建立,则在连接上的通信都是认证过身份的数据,这也是它的好处之一:便于服务端识别客户端的状态),这个请求仅包含一个特定的控制码(由开发者实现的应用层协议指定),服务器只需返回特定的返回码及数据即可,一切无用的字节都被省去。

    3、websocket和http一样都是传输层协议、都是基于tcp应用层协议,ps:进阶了解网络的7层协议 OSI

    原文:https://blog.csdn.net/ch1406285246/article/details/55504330

    OSI(网络七层协议模型),想要联网必须遵循这个协议模型,我们的手机和电脑才可以联网通信

    OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。

    应用层

    示例:TELNET,HTTP,FTP,NFS,SMTP等。

    表示层

    示例:加密,ASCII等。

    会话层

    示例:RPC,SQL等。

    传输层

    示例:TCP,UDP,SPX。

    网络层

    示例:IP,IPX等。

    数据链路层

    示例:ATM,FDDI等。

    物理层

    示例:Rj45,802.3等。

  • 相关阅读:
    【H3 BPM工作流程管理产品小故事】第六篇 条件可见与条件必填
    【H3 BPM工作流程管理产品小故事】第五篇 必填与水印文本
    【H3 BPM工作流程管理产品小故事】第四篇 子表创建
    【工作流程管理产品小故事】第三篇 参与者与数据加载
    【H3 BPM工作流程管理产品小故事】第二篇 文本默认值
    【H3 BPM工作流程管理产品小故事】第一篇 配置简单流程
    流程管理产品小故事汇总贴
    【H3 BPM工作流程产品小故事】第十四篇 数据字典与数据联动
    【H3 BPM工作流程产品小故事】第十三篇 消息通知
    【H3 BPM工作流程产品小故事】第十二篇 触发其他流程
  • 原文地址:https://www.cnblogs.com/liujinyu/p/9626681.html
Copyright © 2020-2023  润新知