我想知道它是否是websocket的第7层,因为应用程序实际上是浏览器。
答案 0 :(得分:9)
Websocket依赖于TCP(OSI#4),只有握手阶段由HTTP(OSI#7)1初始化。虽然它只使用TCP端口80。
根据运行时行为,我不得不说WebSocket应该是一个特殊的OSI#7协议。然后我们可以将SSL / TLS放入OSI#6(参见维基百科),并将浏览器内部的实现放入OSI#5。
答案 1 :(得分:3)
最好使用TCP / IP模型而不是OSI模型来理解图层。 TCP上的WebSocket层,在TCP / IP模型中被视为传输层,可以在WebSocket之上层叠应用层协议。
答案 2 :(得分:1)
HTTP,SSL,HTTPS,WebSockets等都是应用程序层协议。
但是OSI协议栈不适用于TCP / IP,它有自己的层模型:相同的名称,不同的功能。继续使用过时的OSI堆栈就好像它实际上反映了任何现实一样没有帮助。它没有。
答案 3 :(得分:1)
https服务器仅通过升级请求解释握手。除此之外,Websocket是独立的基于TCP的协议。所以我会说主机层#4和#7。 https://tools.ietf.org/html/rfc6455#page-11
答案 4 :(得分:0)
如J. Kurose,Ross 'Computer Networking'所著主题的参考书中所述,套接字被定义为主机内应用程序层与传输层之间的接口。
由于套接字是用于构建网络应用程序的编程接口,因此也称为应用程序和网络之间的应用程序编程接口(API)。
因此,套接字是应用程序层和传输层之间的连接。他们不在自己的一层上。