建设培训中心网站,手机app制作用什么软件,网站暂时关闭怎么做,商务网站开发心得目录
一、OSI TCP/IP模型
二、几者之间的关系
三、HTTP
四、Socket
五、WebSocket
5.1、WebSocket 优点 一、OSI TCP/IP模型
首先我们要了解OSI七层模型#xff0c;和预支对应的TCP/IP 四层的模型。 用下面的图可以看出#xff0c;TCP UDP 工作在传输层 TCP/IP模型
二、几者之间的关系
三、HTTP
四、Socket
五、WebSocket
5.1、WebSocket 优点 一、OSI TCP/IP模型
首先我们要了解OSI七层模型和预支对应的TCP/IP 四层的模型。 用下面的图可以看出TCP UDP 工作在传输层而 HTTP WebSocket 工作在应用层但socket不属于七层模型中的任何一层可以理解为socket工作在传输层与应用层中间的隐含层中。 socket 本身不是一种协议而是对传输层中的 TCP/ UDP 协议进行了封装对用户隐藏了内部TCP/ UDP 是如何传输的只提供一套接口API给程序员调用(套接字)从而完成 socket 编程。通过 socket 接口我们才能使用 TCP/UDP 协议。
二、几者之间的关系 HTTP WebSocket 等应用层协议通过 socket 接口从而调用 TCP/ UDP 等传输层协议从而达到网络通信。 TCP/ UDP Socket HTTP WebSocket 综上所述我们编程不会直接去调用TCP/ UDP 而是通过他们封装好的接口 Socket 去通信。可以说现在几乎网络上所有的通信底层都是通过 Socket 完成的一切皆 Socket 。
三、HTTP HTTP 是基于 TCP 协议的应用的超文本传输协议属于应用层的协议。请求时需建立 TCP 连接请求结束后断开连接完成一次请求/响应操作。 HTTP 协议永远都是客户端发起请求服务器回送响应这样就限制了使用 HTTP 协议无法实现在客户端没有发起请求的时候服务器将消息推送给客户端。 HTTP 协议是一个无状态的协议同一个客户端的这次请求和上次请求是没有对应关系。
四、Socket Socket是对TCP/IP协议的封装Socket本身并不是协议而是一个调用接口API Socket连接需要一对套接字一个运行于客户端另一个运行于服务端之间的连接分为三个步骤服务器监听客户端请求连接确认。
1服务器监听服务端套接字并不定位具体的客户端套接字而是处于等待连接的状态实时监控网络状态。
2客户端请求由客户端的套接字提出连接请求要连接的目标是服务端的套接字。所以客户端的套接字必须首先描述它要连接的服务器的套接字指出服务器端套接字的地址和端口号然后就向服务器端套接字提出连接请求。
3连接确认指当服务器端套接字监听到或者说接收到客户端套接字的连接请求它就响应客户端套接字的请求建立一个新的线程把服务器端套接字的描述发给客户端一旦客户端确认了此描述连接就建立好了。而服务器端套接字继续处于监听状态继续接收其他客户端套接字的连接请求。
五、WebSocket WebSocket 也是一种协议并且也是基于 TCP 协议的。可以理解为 WebSocket 是 HTTP 的优化但 WebSocket 不仅仅在Web应用程序上得到支持。WebSocket 虽然是 Html5 的产物但也不仅仅局限于浏览器的应用程序许多语言都提供了 WebSocket 的支持比如CCPython等。 为了建立⼀个 WebSocket 连接客户端浏览器首先要向服务器发起⼀个 HTTP 请求这个请求和通常的 HTTP 请求不同包含了⼀些附加头信息通过这个附加头信息完成握⼿过程并升级协议的过程。如下图所示 5.1、WebSocket 优点
节约带宽。不停地轮询服务端数据这种方式使用的是 http 协议head 信息很大有效数据占比低 而使用 WebSocket 方式头信息很小有效数据占比高。无浪费。 轮询方式有可能轮询10次才碰到服务端数据更新那么前9次都白轮询了因为没有拿到变化的数据。 而 WebSocket 是由服务器主动回发来的都是新数据。实时性考虑到服务器压力使用轮询方式不可能很短的时间间隔否则服务器压力太多所以轮询时间间隔都比较长好几秒设置十几秒。 而 WebSocket 是由服务器主动推送过来实时性是最高的。 本文要是有不足的地方欢迎大家在下面评论我会在第一时间更正。