【読書】Web API: The Good Parts
2026年01月15日作成
学んだ事
- HTMLのformタグからは、メソッドがGETとPOSTしか呼び出せない。
- 上記の事情によって、POSTでPUTやDELETEなどのメソッドっぽい処理をすることを、メソッドオーバーライドという。
- 「X-」から始まるヘッダー(x-api-key)は非標準のカスタムヘッダーである。現在(2026年01月15日時点)では「X-」の使用は非推奨になっている。でもまだ現場では見かけるような気がする…
- レートリミット確認用APIが存在する。APIを一般に公開すれば確実にレートリミットの設定を行う。その詳細をドキュメントに「/api/user/は、1時間で60アクセスまで」の様に記載するだけではなく「/api/user/ratelimit」といったパスを提供する事で利用者にレートリミットが伝わる。
- 当たり前の事だが、「/api/{user}/friends」の様に、パスパラメータの後にリソース名があってもいい。クエリパラメータを書いた後は何も書けないので、パスパラメータを書いた後はクエリパラメータ以外書けないという固定概念があった。
- HTTPのDateヘッダーは使用出来るフォーマットが決まっている。
- APIにバグがあったりするとHTMLタグがレスポンスとして返ってくるのは、フレームワークやライブラリがwebページを想定してデフォルトのレスポンスを返却しているから。
- IEにはcontent-typeを勝手に判断するやばい機能が過去にあった。
- CORSとは、異なるドメイン(サイト)間で、どのリソース(api)にアクセス出来るかの共有を安全に行う為の仕組み
- 複数バージョンあるAPIがあり、バージョンを指定する必要がある場合に、指定がなかったら最新バージョンで応答するのではなく最古のバージョンで応答した方がいい。