每日学习一点小知识:
- [html] http 和 websocket 能共用一个端口吗?为什么?
- [css] 举例说明background-repeat的新属性值:round和space的作用是什么?
- [js] 不用 + eval Function 实现加法
- [软技能] 让你去重构一个很老旧但很重要的系统,你的方法论是什么?
http 和 websocket 能共用一个端口吗?为什么?
先说结论,YES! http 可以和 WebSocket 共用同一个端口。
http 和 WebSocket 都是应用层的协议。而端口是写在传输层协议上的,无论是 http 还是 WebSocket 都是基于 TCP 协议的。具体一点的话,可以理解为当客户端和服务器通信时会通过双方的 IP 和端口形成一条通信管道(抽象就是双方按照给定地址发送信息包给对方),在这条通信管道中会根据需要创建 N 个 TCP 连接,这些连接有的是用 http 协议,有的是用 WebSocket。
使用 Node.js 实现 http 和 WebSocket 共用同一个端口: