http和socket和websocket的区别和联系的学习笔记

http和socket和websocket的区别和联系的学习笔记

1.OSI七层网络模型

OSI网络七层模型分析:

  • OSI网络七层模型TCP/IP四层概念模型五层模型对应的网络协议
    应用层(Application)应用层应用层HTTP,TFTP, FTP, NFS, WAIS,SMTP
    表示层(Presentation应用层应用层Telnet, Rlogin, SNMP, Gopher
    会话层(Session)应用层应用层SMTP, DNS
    传输层(Transport)传输层传输层TCP, UDP
    网络层(Network)网络层网络层IP, ICMP, ARP, RARP, AKP, UUCP
    数据链路层(Data Link)数据链路层数据链路层FDDI, Ethernet, Arpanet, PDN, SLIP, PPP
    物理层(Physical)数据链路层物理层IEEE 802.1A,iEEE 802.2到EEE 802.11

    OSI网络七层模型

2.http

  • 应用层协议: HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

  • HTTP 是基于请求响应式的,即通信只能由客户端发起,服务端做出响应,无状态,无连接。

    无状态:每次连接只处理一个请求,请求结束后断开连接。

    无连接:对于事务处理没有记忆能力,服务器不知道客户端是什么状态。

3.socket

  • socket: TCP/IP网络的API。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

  • tcp/ip :

    • 代表传输控制协议/网际协议,指的是一系列协议,TCP/IP 模型在 OSI 模型的基础上进行了简化,变成了四层,从下到上分别为:网络接口层、网络层、传输层、应用层

     

4.websocket

  • WebSocket是双向的,在客户端-服务器通信的场景中使用的全双工协议,与HTTP不同,它以ws://wss://开头。它是一个有状态协议,这意味着客户端和服务器之间的连接将保持活动状态,直到被任何一方(客户端或服务器)终止。在通过客户端和服务器中的任何一方关闭连接之后,连接将从两端终止。

  • websocket的特点

    (1)建立在 TCP 协议之上,服务器端的实现比较容易。

    (2)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。

    (3)数据格式比较轻量,性能开销小,通信高效。

    (4)可以发送文本,也可以发送二进制数据。

    (5)没有同源限制,客户端可以与任意服务器通信。

    (6)协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。

    Websocket使用和 HTTP 相同的 TCP 端口,可以绕过大多数防火墙的限制。默认情况下,Websocket协议使用80端口;运行在TLS之上时,默认使用443端口。

5.websocket和http的关系

  • 相同点

    都是一样基于TCP的,都是可靠性传输协议。 都是应用层协议。

    不同点

    WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。 WebSocket是需要握手进行建立连接的。

    联系 WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值