TechAcademy Webアプリケーションコース(15日目)

学習15日目
Lesson12 インターネット通信の仕組み

HTTP
WebブラウザがWebサーバに対して出すリクエストのことを、HTTPリクエストと呼び、WebサーバがWebブラウザのHTTPリクエストに対して返すレスポンスは、HTTPレスポンスと呼ぶ。
URLの最初にあるHTTPはWeb用の通信プロトコルを示している。WebはHTTPというWeb用のプロトコルによって通信を行います。プロトコルとはコンピューター同士の通信をする際の手順や規格のこと。

URL
URLはインターネット上のリソース(資源)の位置を特定するために使用される文字列。URLはインターネット上に公開されている1つのリソースに対して1つだけ割り当てられており、いわば リソースをインターネット上で特定するための住所 であると言る。
URLの一般形式
(httpなどのプロトコル名):(プロトコルごとに定められた形式)
HTTPのURLの一般形式
http://ホスト名.ドメイン名:ポート番号/パス
(host)ネットワーク上のコンピュータにつける識別用の名前 www,
(domain)ネットワークを特定するための住所 yahoo.co.jp, google.co.jpなど,
(port)通信プロトコルと密接な関係 80, 25, 110, 443など,
(path)コンピュータ内のファイルの位置を表したもの /.../.../...htmlなど

IP
インターネット上にあるコンピュータの住所を特定するものはURLでなく IPアドレス である。
HTTPは IP によってインターネットが接続されているという前提があった上で、アプリケーション同士が通信するための通信プロトコル。
URLのドメイン名(ネットワーク名)とホスト名(コンピュータ名)は実はIPアドレス。
DNSサーバがURLとIPアドレスの対応表を持っており、FQDNからIPアドレスを取得する操作を 名前解決と呼ぶ。

クライアントコンピュータがDNSサーバに接続してIPアドレスを問い合わせる。
DNSサーバから受け取ったIPアドレスを持つWebサーバーへHTTPリクエストを送る。

TCP/IPモデル
各種プロトコル(HTTPやIP)は階層構造になっておりその階層を TCP/IPモデル と呼ぶ。
TCP/IPモデルは5つの階層によって成り立っている。
・アプリケーション層:ユーザが使うようなアプリケーションの通信
HTTPはWeb用データを送受信する・SMTP, POP, IMAPはメール送受信のためのプロトコル
・トランスポート層:通信路を作ってデータを通信相手に届ける
TCP信頼性が高く確実にデータを届ける・UDP高速通信が可能だが信頼性は低くなる。
・インターネット層:コンピュータにIPアドレスを割り当てて識別する
・データリング層:物理層で直接接続された機器間の通信を可能にする。
具体的にはLANボード(通信装置)などの機器を制御・識別しそのための伝送路を確保する。
・物理層
LANボードなどから送出されたデータを電気信号に変換し、ケーブルなどの物理的な伝送媒体に流し込む機能を提供する。無線LANやLANケーブルで繋がっているルータまで運び光ファイバケーブルなどを伝って外へ出る。

下層にいくほど物理的なケーブルや回線による電気信号の通信プロトコル
上層に行くほどWebブラウザといったユーザが直接操作するアプリケーションの通信プロトコル
階層構造の役割が明確に分担されて各通信プロトコルが持つ範囲が小さくなり各機能が安定している。

まとめ Webページが表示されるまでの過程。

インターネットサービスはサーバーと通信している。
パソコンやスマートフォン等を利用してWebページを閲覧するためのソフトウェアがWebブラウザである。
WEBブラウザからのWebページを表示して欲しいリクエストをHTTPリクエストといい、リクエストを受けるサーバーをWEBサーバという。
リクエストに応えてサーバーからパソコンやスマートフォン側に情報をHTTPレスポンスして返す。

Webサーバに接続するリクエストを送る際にサーバーの住所であるIPアドレスが必要である。
IPアドレスは、0~255の数字が.区切りで4つ合わさった形として表現されている。
数字の羅列であるIPアドレスは、人間に分かりやすくした英数字で構成された別名のドメインがあり紐づけされている。
IPアドレスと数字の羅列を変換することを名前解決と呼ぶ。

英数字の羅列のドメインだけでは住所ではなくレスポンスが送れない。
インターネット上のドメイン名を管理するシステム、NDS(ドメインネームシステム)によって名前解決を行っている。
DNSが表示させたいWebページの情報のありかであるIPアドレスを教えてくれる。

いいなと思ったら応援しよう!