Appearance
Node.js网络编程实战: 从TCP到WebSocket
深入掌握 Node.js 网络编程,构建高性能、可靠的网络应用。
第一部分:网络编程基础
第二部分:TCP 编程
- net 模块概览
- 创建 TCP 服务器
- TCP 连接生命周期
- 处理多个客户端连接
- 创建 TCP 客户端
- 数据帧与消息边界
- TCP 粘包问题与解决方案
- 自定义协议设计
- TCP 连接池实现
- TCP Keep-Alive 机制
- TCP 性能优化
- TCP 错误处理与重连
- Unix Domain Socket
第三部分:UDP 编程
第四部分:HTTP 协议深度解析
- HTTP 协议基础回顾
- http 模块架构
- 创建 HTTP 服务器
- IncomingMessage 详解
- ServerResponse 详解
- 请求方法与路由
- 请求头解析与处理
- 响应头设置最佳实践
- 请求体解析策略
- 表单数据处理
- 文件上传处理
- JSON 请求与响应
- 流式响应
- HTTP 状态码使用指南
- HTTP 缓存机制
- HTTP 压缩
- Cookie 处理
- HTTP 认证
- HTTP 代理实现
第五部分:HTTP 客户端
第六部分:HTTPS 与 TLS
- TLS/SSL 原理概述
- 证书与密钥
- 创建 HTTPS 服务器
- 自签名证书开发使用
- Let's Encrypt 证书获取
- TLS 配置最佳实践
- 客户端证书验证(mTLS)
- HTTPS 性能优化
- HTTP 到 HTTPS 重定向
第七部分:HTTP/2
- HTTP/2 协议特性
- http2 模块概览
- 创建 HTTP/2 服务器
- HTTP/2 流与多路复用
- 服务器推送(Server Push)
- HTTP/2 客户端
- HTTP/1.1 与 HTTP/2 兼容
- HTTP/2 性能分析
第八部分:WebSocket
- WebSocket 协议概述
- WebSocket 握手过程
- ws 库入门
- WebSocket 服务器实现
- WebSocket 客户端实现
- 消息格式设计
- 心跳与连接保活
- 广播与房间管理
- WebSocket 认证
- WebSocket 与 HTTP 共存
- WebSocket 负载均衡
- Socket.io 入门
第九部分:高级网络主题
- DNS 解析:dns 模块
- 自定义 DNS 解析
- 网络接口信息:os.networkInterfaces
- HTTP/HTTPS 代理配置
- SOCKS 代理支持
- 网络调试与抓包
- 网络性能测试
- 网络安全最佳实践
- IPv6 支持
- 网络编程总结与展望