Skip to content

Node.js网络编程实战: 从TCP到WebSocket

深入掌握 Node.js 网络编程,构建高性能、可靠的网络应用。


第一部分:网络编程基础

  1. 网络协议层次概述
  2. TCP/IP 协议族
  3. Socket 编程基本概念
  4. IP 地址与端口
  5. 字节序与网络字节序
  6. Node.js 网络模块概览

第二部分:TCP 编程

  1. net 模块概览
  2. 创建 TCP 服务器
  3. TCP 连接生命周期
  4. 处理多个客户端连接
  5. 创建 TCP 客户端
  6. 数据帧与消息边界
  7. TCP 粘包问题与解决方案
  8. 自定义协议设计
  9. TCP 连接池实现
  10. TCP Keep-Alive 机制
  11. TCP 性能优化
  12. TCP 错误处理与重连
  13. Unix Domain Socket

第三部分:UDP 编程

  1. dgram 模块概览
  2. UDP 服务器与客户端
  3. UDP vs TCP:选择指南
  4. UDP 广播
  5. UDP 组播(Multicast)
  6. UDP 应用场景
  7. UDP 可靠性保证

第四部分:HTTP 协议深度解析

  1. HTTP 协议基础回顾
  2. http 模块架构
  3. 创建 HTTP 服务器
  4. IncomingMessage 详解
  5. ServerResponse 详解
  6. 请求方法与路由
  7. 请求头解析与处理
  8. 响应头设置最佳实践
  9. 请求体解析策略
  10. 表单数据处理
  11. 文件上传处理
  12. JSON 请求与响应
  13. 流式响应
  14. HTTP 状态码使用指南
  15. HTTP 缓存机制
  16. HTTP 压缩
  17. Cookie 处理
  18. HTTP 认证
  19. HTTP 代理实现

第五部分:HTTP 客户端

  1. http.request 详解
  2. 发起 GET 请求
  3. 发起 POST 请求
  4. 请求超时与重试
  5. HTTP Agent 与连接复用
  6. 跟随重定向
  7. 下载文件
  8. 现代 HTTP 客户端库对比

第六部分:HTTPS 与 TLS

  1. TLS/SSL 原理概述
  2. 证书与密钥
  3. 创建 HTTPS 服务器
  4. 自签名证书开发使用
  5. Let's Encrypt 证书获取
  6. TLS 配置最佳实践
  7. 客户端证书验证(mTLS)
  8. HTTPS 性能优化
  9. HTTP 到 HTTPS 重定向

第七部分:HTTP/2

  1. HTTP/2 协议特性
  2. http2 模块概览
  3. 创建 HTTP/2 服务器
  4. HTTP/2 流与多路复用
  5. 服务器推送(Server Push)
  6. HTTP/2 客户端
  7. HTTP/1.1 与 HTTP/2 兼容
  8. HTTP/2 性能分析

第八部分:WebSocket

  1. WebSocket 协议概述
  2. WebSocket 握手过程
  3. ws 库入门
  4. WebSocket 服务器实现
  5. WebSocket 客户端实现
  6. 消息格式设计
  7. 心跳与连接保活
  8. 广播与房间管理
  9. WebSocket 认证
  10. WebSocket 与 HTTP 共存
  11. WebSocket 负载均衡
  12. Socket.io 入门

第九部分:高级网络主题

  1. DNS 解析:dns 模块
  2. 自定义 DNS 解析
  3. 网络接口信息:os.networkInterfaces
  4. HTTP/HTTPS 代理配置
  5. SOCKS 代理支持
  6. 网络调试与抓包
  7. 网络性能测试
  8. 网络安全最佳实践
  9. IPv6 支持
  10. 网络编程总结与展望

Node.js网络编程实战: 从TCP到WebSocket has loaded