Slate Errors

Success (2xx)

226

IM Used

— IMが使用された

まずは確認: よくある原因 TOP3

  1. Delta encoding (差分配信) を要求した
    クライアントが `A-IM` ヘッダで差分形式を指定
  2. 通信量を抑える特殊な API 設計
    全文ではなく前回からの差分だけ送る用途
  3. 古い HTTP 拡張 (RFC 3229) の実装
    普及しておらず、出会うことは稀

うまくいった証

226 は「リクエストは成功した。ただし、返した内容は通常のリソースそのままではなく、前のバージョンとの差分 (delta) だよ」というサインです。 プールに例えると、毎週タイムを記録している生徒に対して、コーチが「先週との差だけ伝えるね、0.3秒縮んだよ」と差分だけを伝えてくれる——あの軽やかな報告に似ています。

RFC 3229 の Delta encoding という仕組みで、ほとんど普及していない歴史的なステータスです。実務でこれに出会うことはまずありませんが、「差分送信」という考え方の出発点として残っているコードです。

プールからのひとこと

プールでの練習日誌をつけていると、毎回ぜんぶの記録を書き写すより、「今日の記録は先週より0.5秒早かった」と差分だけ書いたほうがノートが軽くなります。読み返すときも変化が見やすい。

226 はその「差分だけ送る」発想をプロトコルに持ち込んだ仕組みです。実装は広がりませんでしたが、通信量を絞りたい現代のシステム設計にも通じる考え方を残してくれた、知る人ぞ知るステータスです。

次への一歩

ここから先:

  1. IM ヘッダを見て差分形式を確認:vcdiff や diffe など指定された形式で復元
  2. 手元の旧バージョンと組み合わせて完全形を作る:差分だけでは使えない
  3. 使う必要がなければ通常の 200 で十分:Delta encoding は今も周辺技術
  4. 差分配信が必要な業務は別の手段で (管理者向け):gRPC や独自プロトコルで近い目的を達成できる

実際にはこう見える

$ リクエスト

curl -i https://example.com/some/path

↓ レスポンス

HTTP/1.1 226 IM Used
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html><body><h1>226 IM Used</h1></body></html>

似ているケース

もっと知りたい