<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>从这里开始 · XB 现场笔记</title><link>https://www.xbcatm.com/zh/pathways/</link><description>基于 HTTP、DNS、TLS、Caddy、SSH、发布与恢复的可复现运维现场笔记。</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://www.xbcatm.com/zh/pathways/index.xml" rel="self" type="application/rss+xml"/><item><title>排障者的十篇笔记</title><link>https://www.xbcatm.com/zh/pathways/troubleshoot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.xbcatm.com/zh/pathways/troubleshoot/</guid><description>从症状出发、由边缘向内的路线。</description><content:encoded>&lt;p&gt;出问题了？从上往下查，证据和你的猜测不一致时停下。这十篇讲的是去哪里看，以及健康的答案长什么样。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/read-the-public-edge-in-two-commands/"&gt;用两条命令读取公共边缘&lt;/a&gt;
觉得不对劲时，先读边缘再猜。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/a-release-is-not-complete-until-the-public-edge-agrees/"&gt;发布在公共边缘一致之前不算完成&lt;/a&gt;
不变更状态，从外部证明发布没问题。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/http-conditional-requests/"&gt;验证器决定缓存副本是否仍是答案&lt;/a&gt;
验证器决定缓存副本是否仍是答案。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/range-requests-should-prove-which-bytes-were-selected/"&gt;范围请求应证明选中了哪些字节&lt;/a&gt;
证明范围请求到底选中了哪些字节。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/head-should-describe-the-same-representation-as-get/"&gt;HEAD 应描述与 GET 相同的表示&lt;/a&gt;
HEAD 必须描述与 GET 相同的表示。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/certificate-chain/"&gt;证书链是一条应当能打印出来的路径&lt;/a&gt;
打印出访客实际收到的证书链。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/certificate-expiry-is-a-date-not-a-dashboard-color/"&gt;证书过期是一个日期，而不是仪表盘上的颜色&lt;/a&gt;
过期是一个日期，趁仪表盘变红前先查。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/dns-changes-need-a-cache-aware-rollback-window/"&gt;DNS 变更需要一个感知缓存的回滚窗口&lt;/a&gt;
带着感知缓存的回滚窗口改 DNS。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/a-postmortem-should-leave-a-fact-record/"&gt;事故复盘应留下一份事实记录&lt;/a&gt;
故障之后，留下事实而不是故事。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/backups-are-only-useful-after-a-restore-rehearsal/"&gt;备份只有在演练过恢复之后才有用&lt;/a&gt;
没演练过恢复的备份只是希望。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;接下来:&lt;/strong&gt; &lt;a href="https://www.xbcatm.com/zh/tutorials/audit-a-public-edge/"&gt;审计公共边缘的信任&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="来源"&gt;来源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc9110.html"&gt;RFC 9110 — HTTP Semantics&lt;/a&gt;，入门路径背后的公共词汇，已核验 2026-09-05。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://caddyserver.com/docs/"&gt;Caddy Documentation&lt;/a&gt;，发布路径背后的服务手册，已核验 2026-09-05。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP"&gt;MDN: HTTP&lt;/a&gt;，排障路径的实用 HTTP 参考，已核验 2026-09-05。&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title>新人的十篇笔记</title><link>https://www.xbcatm.com/zh/pathways/begin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.xbcatm.com/zh/pathways/begin/</guid><description>运维小型静态服务的最快路线。</description><content:encoded>&lt;p&gt;刚来？按顺序读这十篇。每篇都很短，每篇都给出处，合在一起就是本站运维 Web 服务的方式。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/the-advantage-of-small-systems/"&gt;小系统的优势&lt;/a&gt;
先读理念：小而清晰的系统，故障也看得见。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/reliable-defaults-beat-clever-recovery/"&gt;可靠的默认行为胜过聪明的恢复&lt;/a&gt;
可靠的默认行为胜过聪明的恢复。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/http-method-semantics/"&gt;HTTP 方法是对副作用做出的承诺&lt;/a&gt;
方法是对副作用的承诺，先学这套词汇。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/redirects-and-error-codes-should-preserve-the-story/"&gt;重定向与错误码应保留故事的完整性&lt;/a&gt;
状态码讲的是资源去向的故事。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/cache-headers-are-a-contract-with-two-clocks/"&gt;缓存头是两套时钟的契约&lt;/a&gt;
缓存是两套时钟：新鲜度和验证。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/content-type-should-describe-the-bytes-you-actually-send/"&gt;Content-Type 应描述你实际发送的字节&lt;/a&gt;
字节和标签必须一致。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/cookie-scope-should-be-narrower-than-the-application-boundary/"&gt;Cookie 作用域应比应用边界更窄&lt;/a&gt;
趁应用还小，先收窄 Cookie 作用域。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/security-headers-should-describe-the-actual-page/"&gt;安全响应头应描述实际页面&lt;/a&gt;
用响应头如实描述实际页面。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/a-static-server-should-have-one-obvious-root/"&gt;静态服务器应有一个明确的根目录&lt;/a&gt;
整个静态部署只有一个明确的根目录。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.xbcatm.com/zh/notes/read-the-public-edge-in-two-commands/"&gt;用两条命令读取公共边缘&lt;/a&gt;
两条命令，其他一切都建在它们之上。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;接下来:&lt;/strong&gt; &lt;a href="https://www.xbcatm.com/zh/tutorials/http-edge-walkthrough/"&gt;像客户端一样读取活动边缘&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="来源"&gt;来源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc9110.html"&gt;RFC 9110 — HTTP Semantics&lt;/a&gt;，入门路径背后的公共词汇，已核验 2026-09-05。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://caddyserver.com/docs/"&gt;Caddy Documentation&lt;/a&gt;，发布路径背后的服务手册，已核验 2026-09-05。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP"&gt;MDN: HTTP&lt;/a&gt;，排障路径的实用 HTTP 参考，已核验 2026-09-05。&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>