こんにちは。
このブログではWeb APIとは何かを説明します。
技術者以外でも理解できるような内容だと思います。
Web APIとは
Web APIとは、Web上でAPIのやり取りを可能にしたものです。
API(Application Programming Interface)とはソフトウェアやプログラム、Webサービスの間をつなぐインターフェースのことです。
APIについて説明だけでは分かりにくいため次章で図を使い、詳しく説明します。
APIの詳細
かみ砕いて説明すると、APIとは外部に便利な機能を提供するものです。
↓図を見てください。
アプリがXXX APIに対し、「2位は何?」と質問しています。
それに対しXXX APIは「2位は〇〇だよ」と回答しています。
このように、私たちが作成するアプリに、youtubeやtwitterなどの情報・機能を搭載させることができるのがAPIです。
Web APIだと、このやり取りがインターネットを経由するということです。
次の章ではそもそものインターネットの通信の仕組み(イメージ)について説明します。
インターネット通信のイメージ
では、具体的にはどのようにしてインターネット通信しているか見ていきます。
以下の画像を見てください。
クライアントがサーバーに対し、HTTPリクエストを投げます。
これに対しサーバーはHTTPレスポンスを返します。
HTTPリクエストとは「〇〇に対し、△△をして」というお願い事をするものです。
HTTPレスポンスとはHTTPリクエストに対する応答です。
この時、HTTPリクエストやHTTPレスポンスが好き勝手なフォーマットだと、クライアントもサーバーも受け取ることができません。
そのため、フォーマットについて約束事があり、その約束事のことをプロトコルと言います。
今回のプロトコルはHTTPです。
例えとして、
手紙を出す際に、手紙を封筒に入れ、切手を貼り、住所を書き、郵便ポストに入れる必要があります。
このうち1つでも不足すると手紙を送る相手に対し、正しく手紙を届けることができません。
つまり、手紙を出す際のプロトコル(約束事)は「手紙を封筒に入れ、切手を貼り、住所を書き、郵便ポストに入れる」です。
HTTPの仕組みについては省略しますので、詳しく知りたい方は調べてみてください。
まとめ
apiの実装をしていく際にインターネット通信についての理解があると実装しやすいと思ったので、インターネット通信のイメージについても解説しました。
仕組み自体は難しくないので、一旦はなんとなくでもいいので理解しましょう。