计算机网络基础:TCP/IP 与 HTTP 核心知识

发布时间:2026/5/23 23:59:08

计算机网络基础:TCP/IP 与 HTTP 核心知识 摘要计算机网络是后台开发和 AI 基础设施面试的重要考点。本文从 OSI 七层模型出发重点讲解 TCP 三次握手/四次挥手、HTTP/HTTPS 协议、以及 WebSocket 和 RESTful API 设计并结合 Python 代码展示 Socket 编程和简单的 HTTP 服务器实现。一、网络分层模型1.1 OSI 七层 vs TCP/IP 四层TCP/IP 四层模型应用层HTTP/FTP/DNS传输层TCP/UDP网络层IP/ICMP网络接口层以太网/WiFiOSI 七层模型应用层表示层会话层传输层网络层数据链路层物理层图 1网络分层模型对比二、TCP 核心机制2.1 三次握手与四次挥手服务端客户端服务端客户端三次握手建立连接数据传输四次挥手断开连接TIME_WAIT 2MSLSYN seqxSYN seqy, ACK x1ACK y1FIN sequACK u1FIN seqvACK v1图 2TCP 三次握手与四次挥手时序图2.2 为什么需要 TIME_WAIT确保最后一个 ACK 能到达对方若丢失可重传防止旧连接的报文干扰新连接等待 2MSL 让网络中旧报文消失。三、HTTP 与 HTTPS3.1 HTTP/1.1 vs HTTP/2 vs HTTP/3特性HTTP/1.1HTTP/2HTTP/3连接串行/管道化多路复用基于 QUIC头部压缩无HPACKQPACK传输层TCPTCPUDP队头阻塞有应用层解决彻底解决3.2 HTTPS 握手过程服务端客户端服务端客户端后续使用对称加密通信ClientHello支持的加密套件ServerHello 证书 ServerKeyExchange验证证书 生成预主密钥ClientKeyExchange ChangeCipherSpecChangeCipherSpec图 3HTTPS 握手过程四、Python 网络编程 Python Socket 编程示例 实现简单的 TCP 服务端和客户端 importsocketimportthreadingclassSimpleTCPServer:简单的 TCP 服务端def__init__(self,host127.0.0.1,port8888):self.hosthost self.portport self.serversocket.socket(socket.AF_INET,socket.SOCK_STREAM)self.server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)defstart(self):self.server.bind((self.host,self.port))self.server.listen(5)print(f服务端启动于{self.host}:{self.port})whileTrue:client,addrself.server.accept()print(f客户端连接:{addr})threading.Thread(targetself._handle,args(client,)).start()def_handle(self,client:socket.socket):处理客户端请求try:whileTrue:dataclient.recv(1024)ifnotdata:breakmessagedata.decode().strip()print(f收到:{message})client.send(fEcho:{message}\n.encode())finally:client.close()deftest_socket():print(*60)print(Socket 编程示例)print(*60)print(\n服务端代码已准备实际运行需要客户端配合)print(*60)if__name____main__:test_socket()代码 1TCP Socket 编程五、AI 场景模型服务的网络架构5.1 推理服务的网络流程用户请求负载均衡API Gateway鉴权请求队列模型推理服务结果缓存图 4AI 模型服务网络架构六、总结核心要点TCP 可靠UDP 快速根据场景选择HTTP/2 的多路复用解决了 HTTP/1.1 的队头阻塞HTTPS HTTP TLS证书验证 密钥交换 对称加密AI 服务关注延迟和吞吐选择合适的序列化Protobuf/JSON和传输协议gRPC/HTTP。本文基于 Coding Interview University 项目整理专注计算机网络专题。

相关新闻