うまくいった証
203 は「リクエスト自体は成功したけれど、君に届いた内容は本来のサーバーから直接ではなく、途中で誰かが手を加えた可能性があるよ」と教えてくれるサインです。 プールに例えると、自分のコーチからではなく、別のコーチが「だいたいこんな感じだったよ」と伝言で伝えてくれる——あの「直接ではない」感触です。
実務でこのコードに出会うことは多くありませんが、CDN や会社プロキシなどが応答を加工する構成では出ることがあります。挙動としては 200 とほぼ同じで、注意書きが付いた成功と理解して大丈夫です。
プールからのひとこと
プールサイドで自分のコーチがいないとき、別の先生に「あの先生はどう言ってた?」と尋ねると、「たぶんこう言ってたと思うよ」と少し含みを持たせた答えが返ってくることがあります。本人ではないからこその、控えめな伝え方。
203 もそれに似ていて、「本物の情報源からそのまま」ではない、という前置きをつけて成功を返している状態。クライアントは中身を信用してよいけれど、出所が中継経由だということを把握できます。
次への一歩
うまくいった、次はこうしてみよう:
- レスポンス内容をそのまま使ってよい:基本は 200 と同じ扱いで問題ない
- 重要な値はオリジンと比較:精緻なデータが必要なら直接アクセスを検討
- どの中継機器が変換しているか把握:
ViaやX-Cache系ヘッダで追える - 不要な変換は剥がす (管理者向け):CDN/プロキシで意図せぬ書き換えがあれば設定を見直す
実際にはこう見える
$ リクエスト
curl -i https://example.com/some/path ↓ レスポンス
HTTP/1.1 203 Non-Authoritative Information
Content-Type: text/html; charset=utf-8
<!DOCTYPE html>
<html><body><h1>203 Non-Authoritative Information</h1></body></html>