开发与 Web

这一类文章的共同点是:规则本身很短,但「在什么位置适用哪条规则」决定了对错。URL 编码只有一句话可以说清楚,可一旦搞混「编码整条 URL」和「编码一个参数值」,签名就会永远对不上;HTTP 状态码也就几十个,真正难的是 401 和 403 该报哪个、409 和 422 的边界在哪。

所以这里的写法都是先给判据、再给结论:什么情况下该用哪个,用错了会以什么形式表现出来。排查类的文章会给出顺序 —— 从最容易忽略的开始查,而不是从最常见的开始猜。

这一类常见问题

为什么这些规则看起来都对,实际用起来总出错?

因为规则总有「取决于上下文」的部分。同一个字符在路径、查询串、请求体里含义不同,同一个状态码在不同网关下被改写。文章里会标明适用位置,遇到对不上时先确认自己处在哪个上下文。

文章里的结论可以当规范用吗?

格式类结论(编码、进制、时间戳)可以直接用,它们由 RFC 或平台文档固定。行为类结论(网关怎么改写、浏览器怎么缓存)会随实现变化,文章标了依据,遇到差异以实测为准。

其他分类