一:OSI七层协议模型
二,socket套接字:
从上面图可以看出socket、http、webscoket都是走tcp协议。
SOCKET:套接字,TCP/IP网络的API。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
HTTP:应用层协议。HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
WebSocket:WebSocket protocol 是HTML5一种新的协议(应用层协议)。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。
http与webscoket之间的关联?
相同点:1. 都是一样基于TCP的,都是可靠性传输协议。2. 都是应用层协议。
不同点:1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。2. WebSocket是需要握手进行建立连接的。
联系:WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。
socket与websocke之间是不是一回事?
不是一回事,socket是属于传输层和应用层之间的一层抽象层,而websocket是应用层。
网络的构成元素: https://www.cnblogs.com/wanghuaijun/p/10092930.html
http的无状态: https://www.cnblogs.com/bellkosmos/p/5237146.html