HTTP
TCP
UDP
Socket
WebSocket
restful风格
Socket是什么? Socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在Socket接口之后,只对应用层暴露简单的接口 Socket是一种特殊的文件,他也有文件描述符,进程可以打开一个Socket,并像文件一样对他进行读写操作 而不关系数据是怎么在网上上传输的,Socket是一个TCP连接的两端 Socket如何表示唯一一个进程? 协议,IP,端口 通信双方如何进行端口绑定? 服务器绑定ip,端口,客户端在连接的时候指向服务端的端口,机器自行分配一个端口 Socket属于网络的那一场? Socket不算是一个协议,他是应用层与传输层的一个抽象。把TCP/IP层复杂的操作抽象为几个简单的接口,拱应用层使用,以实现进程在网络中的通信 Socket是全双工的吗? 是 HTTP协议是全双工的吗? HTTP协议设计的本身就是请求/响应模式,不过在技术上可以使用底层的TCP进行全双工通信 Socket与WebSocket的区别? Socket是对TCP/IP协议的复杂性进行抽象成简单的接口,拱用户使用。不算是协议 WebSocket是应用层协议,基于TCP协议实现,通过HTTP协议建立连接 WebSocket连接过程: 1.服务端与客户端建立TCP连接,建立HTTP连接 2.客户端(浏览器)向服务器发送一个请求头包含(如下信息)的HTTP请求,申请升级到WebSocket连接 Upgrade:WebSocket Connection:Upgrade 3.服务端回应的响应头,同意升级协议,至此双方将基于WebSocket协议通信 HTTP/1.1 101 Switching Protocals Connection: Upgrade Upgrade: websocket
网络模式
应用层:HTTP,WebSocket |
表示层 |
会话层 |
运输层:TCP,UDP |
网络层:IP |
链路层 |
物理层 |
应用层(包含会话/表示层):HTTP,WebSocket |
运输层:TCP,UDP |
网络层:IP |
物理链路层 |
参考博客:https://www.cnblogs.com/luozx207/p/12778607.html