APIとhttpを知ったかぶりするのはやめたい
レイズテックの受講生です。10月から受講開始したReactコースの課題になっている用語群をまとめていきます。
API
APIはある機能が目的遂行のためにほかの機能を引用してくるときに介在するものです。
これではあまりにお粗末なので細かく見ていきます。
APIを略さず言うとApplication Programming Interfaceです。

(ぶっちゃけアプリもプログラミングもインターフェイスもよく分かっていないんだなあ)
アプリケーションは本体とは独立したお役立ち機能。
スマホを例に挙げると脳みそはOS、スマホの中にインストールする電卓やLINEは抜き差しできる独立した機能=アプリケーションになります。
プログラミングは目的遂行のための命令。
インターフェイスは接地面。
3つを合体させると"機能実行命令のための接地面"となります。アプリケーションプログラミングインターフェイスよりは分かりやすくなったと思います…
他の機能やサービスを利用するための仲介役のようなもので、ほんやくコンニャク・コンセント・出島のようなポジションと考えらえます。
WebAPI
WebAPIはAPIの中でもHTTP通信でやり取りを行うものを指します。

(httpってURLの冒頭でお見掛けするけど何なのか分かってないのよね)
ここからはhttp通信について掘り下げていきます。
http通信
HTTPはHyperText Transfer Protocolの略。
直訳するとクライアントとサーバーの間でハイパーテキストを転送する通信プロトコルです。
呪文にしか見えないので1つ1つの言葉を調べてみました。
クライアント…画面
サーバー…データの貯蔵庫
ハイパーテキスト…別の関連付けられた情報に遷移できる能力(ハイパーリンク)を持った文書のこと。ざっくり言えばWebページのことですかね。
プロトコル…意思疎通のための共通言語のようなものを指します。
結局何が言いたかったのかよくわからなくなりました。
http通信は、貯蔵庫からハイパーリンクを取り出して画面に表示するためのやりとりと言えます。
http通信がやりとりの際に使う手法がhttpメソッドです。
httpメソッド
先程書いた通りで、http通信が情報伝達のために使う方法のことを指します。
たくさん種類があるらしいのですが、代表的なものは
- GET
- POST
- PUT
- DELETE
だそうです。
http通信とhttpメソッドの違い
http通信とhttpメソッドの違いって何だろうとこんがらがりました。のでこの違いの明文化にお付き合いください。
例として、AさんからBさんに「httpメソッドって何?」という文章のメールを送るとしましょう。
httpの話に置き換えると、メールそのものを送ることがhttp通信です。通信は発信・受信そのものを指し、中身については問いません。
通信に成功し、メッセージを受信したとしても、もしBさんが生粋の日本人で1か国語しか知らない方だとして、送った内容がスワヒリ語だとしたら理解できません。
日本語を使っていること、文末に何?と疑問形で送ることではじめて、Bさんは送られてきた内容が把握できます。
このように、送った内容が伝わるようにする手法がhttpメソッドです。
ブラウザにURLを入力してからサイトが表示されるまで
何気なく普段Webサイトにアクセスしているとき、裏側ではこんな感じのステップを踏んでいるそうです。
- URLのドメインのIPアドレスをDNSサーバーに問い合わせる
- Webサーバーにアクセスしてページデータを要求
- Webサーバーがアプリケーションサーバ・データベースとも力を合わせて情報を取得し、Webページを転送・表示する
カタカナに殴打されている気分ですが、実のところ壮大な道探しをしているだけだと思っております。順番に見ていきます。
ドメインのIPアドレスをDNSサーバーに問い合わせる
IPアドレスとDNSサーバーが新たに出現しますが、1つ1つ見ていきます。
URLは大まかにインターネット上で使える区画を示す"ドメイン"とドメイン内での位置を示す"ファイル名"に分かれています。
本記事のURLでみてみると
https://aosblog.com/2375
aosblog.comがドメインで2375がファイル名に当たります。
このaosblog.comという極めて安直なネーミングのドメインは理解しやすくするための仮の姿で、
実際は数字の羅列になっています。その羅列をIPアドレスと呼びます。
引っ越しをしたときに住所はなかなか覚えられませんが、これがキャッチーなフレーズだったらすぐ覚えられますよね。
そんな風に記憶しやすくするためドメインですが、あくまでも芸名です。
行先にたどり着くためには本当の住所であるIPアドレスを知らなければなりません。
ドメイン名とIPアドレスの一覧データを持っているのがDNSサーバーに問い合わせ、IPアドレスを教えてもらい、ブラウザに回答を返します。
ここでようやく行き先を理解しました。
Webサーバーにアクセスしてデータを要求
WebサーバーはIPアドレスごとに表示するデータを保存しています。
DNSサーバに教わって住所が分かったところで、ブラウザはこのIPアドレスのデータをくださいとご依頼に上がります。
Webサーバーがアプリケーションサーバ・データベースとも力を合わせて情報を取得し、Webページを転送・表示する
ブラウザから依頼をもらうとWebサーバーはもらった情報を送ります。
が、Webサーバーが保管しているのは誰が見ても同じように表示される情報だけです。
会員情報だったり、入力内容に応じて表示が変わるデータはアプリケーションサーバーやデータベースに保管されています。
内容に応じてWebサーバー→アプリケーションサーバー→データベースと伝言ゲームを重ねて、ブラウザにデータを転送しています。

初回の課題ですでに息切れしてて先が思いやられるががんばるで!!!
以上です。
コメント
コメントはありません