nebashitaito-web

【読書】Web API: The Good Parts

画像

学んだ事

  • 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があり、バージョンを指定する必要がある場合に、指定がなかったら最新バージョンで応答するのではなく最古のバージョンで応答した方がいい。