Socket 编程基础:网络接口的最小抽象
Socket 编程基础:网络接口的最小抽象 前面我们学了一大堆协议——IP 怎么寻址、TCP 怎么握手、HTTP 怎么请求响应。但有个问题一直悬着:你写的程序,到底是通过什么"东西"用上这些网络能力的? 你 new 一个...
Socket 编程基础:网络接口的最小抽象 前面我们学了一大堆协议——IP 怎么寻址、TCP 怎么握手、HTTP 怎么请求响应。但有个问题一直悬着:你写的程序,到底是通过什么"东西"用上这些网络能力的? 你 new 一个...
Wireshark 抓包入门:如何看见网络发生了什么 学网络最让人挫败的,不是概念难,而是看不见。你背得出 TCP 三次握手,但从没亲眼见过 SYN、SYN ACK、ACK 是怎么一来一回的;你知道 DNS 先解析域名,但没见过查询报文长什...
常见攻击与防护:XSS、CSRF、DDoS 与中间人 上一篇我们讲了加密、签名、TLS——把数据保护得密不透风。但真实世界里的攻击者,大多数时候根本不去硬碰密码学。他们更聪明:你把数据加密了,那我就去骗你的浏览器执行我的脚本;你用 Cook...
网络安全基础:对称加密、非对称加密与 TLS 每天你访问的网站都挂着 https://,浏览器地址栏一把小锁。但如果有人问你:“这把锁到底锁住了什么?数据是怎么加密的?为什么你能确信对面真的是银行,而不是冒充的?”——很多人会卡壳,只能含糊...
WebSocket 与 SSE:长连接通信的常见方案 做后端的人迟早会接到这样一个需求:服务端的数据变了,要"立刻"推给浏览器——可能是一条新消息、一次订单状态变化、一行实时日志、一个监控指标的跳动。可传统 HTTP 是...
CDN 与反向代理:内容分发的网络基础 上一篇 DNS 结尾我们留了个引子:CDN 靠 DNS 把用户导向最近的节点。这一篇就把这条链路走完——当你的网站用户遍布全国甚至全球,仅靠机房里那一台(或一组)源站直接响应所有请求,跨地域延迟、热点...
DNS:域名为什么能找到服务器 前面几篇里,无论 TCP 握手还是 TLS 握手,我们都默认"已经知道服务器的 IP"。但你访问网站时输入的是 www.example.com,不是一串 IP 数字。网络设备转发数据靠的却...
HTTPS:加密通信与证书验证 上一篇我们看清了 HTTP 报文长什么样——但它有个致命问题:全程明文。请求行、头部、Cookie、请求体,路径上任何一个节点(路由器、Wi-Fi 热点、运营商、中间人)都能看见,甚至篡改。登录密码、支付信息...
HTTP 报文结构:方法、状态码、头部与实体 上一篇我们看了 HTTP 怎么一代代演进,但无论 HTTP/2 怎么二进制分帧、HTTP/3 怎么换到 QUIC,那套"方法、状态码、头部、实体"的语义始终没变。这一篇我们就...
HTTP 发展简史:从 HTTP/1.0 到 HTTP/3 前面三篇我们把 TCP 怎么把字节可靠送达讲透了。现在往上走一层:这些字节表示什么?这就是应用层协议 HTTP 的职责。很多人天天写接口、调接口,但说不清 HTTP 这些年到底变了...