发布网友 发布时间:2024-10-24 11:32
共1个回答
热心网友 时间:2024-11-05 19:03
Node.js框架中,网络通信是基于TCP/IP协议栈进行的。它分为七层,每一层都有特定的职责和规则。
从应用层开始,常见的应用协议有HTTP、FTP、HTTPS等,这些是基于TCP/IP协议簇的。表示层主要负责数据的格式化,会话层则处理会话管理和同步。传输层是关键,TCP提供稳定可靠的连接,如HTTP数据包首先会添加TCP头和IP头,再通过以太头发送。
UDP与TCP的不同在于,UDP是无连接的,适用于实时应用如视频聊天,而TCP确保一对一的可靠通信。浏览器的三次握手和四次挥手是TCP连接的建立和断开过程,确保数据传输的顺序和完整性。
TCP的特点包括面向连接、可靠通信、滑动窗口和拥塞控制机制,以防止网络拥塞。滑动窗口允许协商发送和接收数据的速度,慢启动算法和拥塞避免算法则是控制流量增长的策略。
在Node层,实现简单TCP通信可以通过server.js和client.js文件,涉及建立连接、发送和接收命令、头信息交换,以及最后的断开连接。HTTP则更侧重于请求-响应模式,无状态,使用cookie管理状态,通过URL定位资源,如URI和URL的区别。
HTTP版本升级带来显著变化,HTTP/1.0为单请求-响应,HTTP/1.1引入持久连接和队头阻塞,而HTTP/2.0引入了全双工、多路复用和服务器推送功能,提升通信效率。