← メディア一覧

インターネットの秘密の言葉:HTTPと3桁の返事

5分29秒 | WEBHTTP

基本情報技術者試験の頻出テーマを解説した動画コンテンツです。

トランスクリプト(字幕テキスト)

どうも。今回はですね、皆さんがインターネットを使うたびに、実は裏側で交わされている秘密の会話について、その仕組みを解き明かしていこうと思います。 普段何気なくリンクをクリックすると、パッとウェブページが表示されますよね。まるで魔法みたいに。 でもたまに、エラー画面が出たりもする。実はこれ、魔法なんかじゃなくて、ちゃんと裏側で会話が行われている結果なんです。 そう、その会話で使われているのが、HTTPっていう、ま、言ってみればインターネットの公用語みたいなものですね。 僕たちの目には見えないんですけど、これが常に飛び交っているわけです。この仕組み、ちょっと難しそうに聞こえるかもしれないんですけど、大丈夫です。 インターネット全体を、一つの巨大なレストランに例えると、すっごく分かりやすくなりますよ。 このレストランでは、今あなたが見ているブラウザがお客さん。そしてウェブサイトのデータを持っているサーバーが、料理を作る厨房の役割だと思ってください。 つまりですね、ウェブサイトで何かをクリックするたびに、あなた、つまりお客さんは厨房に向かって、 注文のメッセージを送っているということなんです。この注文こそが、専門用語でいうHTTPリクエストなんですね。 じゃあその注文、つまりHTTPリクエストには、具体的にどんな種類があるんでしょうか。実務で一番よく使うのは、 GETとPOSTっていう二つの注文方法です。まず、GETリクエスト。 これはレストランで言えば、「すみません、メニュー見せてください」とおねがいする感じですね。情報をただもらう時に使います。 それに対して、POSTリクエストは、「じゃあこれ注文します」と自分のオーダーを伝える時。つまり、こっちからデータを送る時に使うってわけです。 代表的なのはその二つなんですけど、他にも色々あって、例えば、「さっきの注文ちょっと変えてください」っていうのがPUT。 で、「やっぱ今の注文なしで」っていうのがDELETE。こんなふうに、やりたいことに合わせて細かいお願いができるようになっているんですよ。 さて、ここからが面白いところです。お客さんから注文を受け取った厨房は、どうやって返事をすると思いますか? 実は、かしこまりましたみたいな長い文章じゃなくて、たった三桁の数字で返事をするんです。 この厨房からの返事のことを、HTTPレスポンスって言うんですけど、その頭には必ず、ステータスコードっていう三桁の数字がついてきます。 この数字だけで、注文がどうなったか一瞬で分かるようになっているんですね。このコード、ちゃんとグループ分けされてて、 まず、200番台は成功。注文うまくいきましたよってことです。400番台は、お客さん側のミス。 「あれ、お客さま、注文の仕方がちょっと違いますよ」っていう感じ。で、500番台は厨房側のトラブルですね。 それじゃあ、特に皆さんが普段からよく目にされるであろう、代表的な三つの返事を見ていきましょうか。 まずは、200 OK。これが一番嬉しい返事ですね。ご注文承知しましたっていう意味で、 厨房が注文を完璧に理解して、頼んだものをちゃんと送ってくれてる状態です。大成功ってことですね。 そして出ました、かの有名な404 Not Found。これはレストランで言うと、「すみません、そのメニューはもう扱ってないんですよ」という状態。 つまり、もう消えちゃったページとか、URLを間違えて入力した時に出てくるやつです。500 Internal Server Errorは、もっと深刻です。 これはもう、厨房で何かとんでもないトラブルが起きてる状態。厨房内パニックです、みたいな。 サーバー側で何か問題があって、注文を処理できないんですね。これが出るとエンジニアは真っ青になります。そうなんです。 だから、プロのエンジニアはこの返ってきた数字を見て、あ、成功したなとか、うわ、エラーだっていうのを判断するプログラムを書くわけです。 これこそがプログラミングの仕事の、まあ肝の部分だったりするんですね。でも、なんでわざわざこんな数字のコードを使うんでしょうね。 普通に言葉で返せばいいのにって思いません?実は、その理由は時代とともに変わってきたんです。 インターネットが始まったばかりのころは、人間がページを見るのが目的でした。でも今は違います。 例えばスマホアプリがサーバーとデータをやり取りするように、機械と機械が会話をすることがすごく増えたんです。 そうなると人間みたいに曖昧な表現じゃダメで、もっと正確で効率的なやり取りが必要になったわけです。 機械同士の会話では、こういう曖昧さのないルールが絶対必要なんです。ステータスコードは、世界共通の信号なんですね。 誤解のしようがない信号なんですね。例えば、401はログインしてください、403はログインはしてるけどあなたにこの情報を見る権限はありませんっていう、 すごく細かい違いを正確に伝えられる。この厳密さがあるからこそ、今のアプリは安全に、そしてスムーズに動いているんです。 というわけで、これで皆さんも、もうただのお客さんじゃありません。インターネットの裏側で交わされている秘密の言葉を理解できる仲間入りです。 次にあの404エラーを見かけた時、厨房があなたに何を伝えようとしているのか、もう分かりますよね。

このコンテンツは Web society で視聴・学習できます。