网络・RFC

网络・RFC

使用 curl 观察 ETag 和 304 —— 手动验证 HTTP 缓存

通过 curl 发送 ETag 和 If-None-Match,观察 200 与 304 的区别,从而理解 HTTP 条件请求。
网络・RFC

使用 PowerShell 观察 TCP 状态——ESTABLISHED 和 TIME_WAIT 意味着什么?

通过 Get-NetTCPConnection 以只读方式观察 ESTABLISHED 和 TIME_WAIT,并将其与 RFC 9293 的 TCP 状态转换及实际业务排查联系起来。
网络・RFC

使用 PowerShell 在 localhost 收发 UDP —— 直观感受“不建立连接的通信”

通过 PowerShell 的 UdpClient 在 localhost 进行收发,观察不同于 TCP、无需建立连接的数据报通信。
网络・RFC

tracert 为什么能显示中途的路由器?——了解逐一递增 TTL 的工作机制

本文梳理了 Windows 的 tracert 如何利用 TTL 和 ICMP Time Exceeded 来推测跃点(hop),并涵盖了在故障排查中如何解读这些结果。
网络・RFC

在 TCP 中划分“单条消息”——在 localhost 上测试长度前缀(length prefix)

测试长度前缀(length prefix),即在 TCP 字节流中附加 4 字节的长度信息,以便接收方判断消息边界。
网络・RFC

在 localhost 上观察 TCP 不具备“消息边界”

安全地观察在 localhost 的 TCP 收发中,发送次数与接收分隔不一致的现象。
网络・RFC

使用 curl 查看重定向路径与最终 URL —— 追踪 301/302

通过 curl 的 -I、-L 以及 url_effective 参数,分别查看 301/302 的 Location、中间路径以及最终 URL。
网络・RFC

HTTP 404・502・504发生在哪一层?——从Nginx与应用的通信路径进行排查

根据RFC 9110确认404、502、504在HTTP上的含义,并从Nginx和上游应用的通信路径梳理排查顺序。
网络・RFC

使用 PowerShell 发送原始 HTTP — 在本地确认 HTTP 运行在 TCP 之上的感觉

通过 TcpClient 连接到 localhost,以字符串形式发送 HTTP/1.1 GET 请求。在单台 PC 上观察 HTTP 和 TCP 之间的层级差异。
网络・RFC

使用PowerShell检查HTTPS证书到期时间 ― 直接使用.NET的SslStream

通过PowerShell使用.NET的TcpClient和SslStream,检查HTTPS网站的服务器证书、有效期以及剩余天数。