はじめに
今回はネットワークの基礎知識についてアウトプットしていこうと思います!
IT技術について
インターネットを通じて今日の天気を調べる、電車の時間を調べる、ECサイトで商品を注文するなど、これらはすべてWorld Wide Webという技術を用いて構築されています。
World Wide Web
World Wide Webとは、簡単にいうと、コンピュータを使って文書と文書を結びつける仕組みのことです!
ここでいる文書とは、HTMLで記述された文書のことで、正式にはハイパーテキストと呼ばれています!
ハイパーテキストは、別のハイパーテキストへの参照を埋め込むことができます!
この参照を「ハイパーリンク」と呼びます。私たちが普段「リンク」と呼ぶのは、この「ハイパーリンク」を指しています!
このハイパーリンクによって、ハイパーテキスト同士が世界中でクモの巣状に繋がっている様子からWorld Wide Webと命名されました!
インターネット
インターネットとは、世界中のコンピュータや情報機器がお互いに接続された環境のことです!
元々インターネットとWebは別の目的で開発されたものでした!
しかし、技術の発展に伴ってインターネット上でWebが使えるようになり、世界中のWebページが繋がるようになりました!
Webアプリケーションが利用できる仕組み
通信の仕組み
ネットワークに接続された機器同士は、あらかじめ決められた共通のルールや手順に沿って通信を行います!
この共通のルールや手順をプロトコルと呼びます!
特に現在のインターネット通信においてよく利用されている通信プロトコルにTOP/IPというものがあります!
TOP/IP
インターネット通信において最も利用されているプロトコルの総称です!
様々なプロトコルの中でもインターネット通信においいぇ中心的な役割を果たすのがTCPとIPであることから、総称してTOP/IPと呼ばれるようになりました!
HTTP
Webページを表示するために、クライアントとサーバー間で行われるデータの送受信のプロトコルです!
リクエストには以下のように、HTTPメソッド・リクエスト先などの情報が含まれています!
また、レスポンスには以下のように、レスポンスの形式・HTTPステータスコードが含まれる他、実際にブラウザ上に表示されるWebページの情報(HTML)も含まれます。
このレスポンスの情報が変換され、ブラウザ上に表示されることでリクエスト/レスポンスの一連の流れは完了するのです。
HTTPS
HTTPSとは、HTTP通信をより安全に行うためのプロトコルです!
HTTPとHTTPSの違いは通信内容が暗号化されているか否かです!
HTTPでは通信内容が暗号化されていないため、第三者が通信内容を見たり、編集することができてしまいます。
一方、HTTPSでは、通信内容が暗号化されます。そのためより安全に通信をすることが可能になります!
特定のページにアクセスするための仕組み
IPアドレス
IPアドレスとは、コンピュータやサーバーに設定されたインターネット上の住所のことを指します!
IPアドレスは数値とドットで表現されます!
インターネット上においてIPアドレスは世界中でたった1つです。この住所を指定することで、特定のコンピュータやサーバーと通信することができるようになります!
ドメイン
ドメインとは数値とドットからなるIPアドレスを人間が覚えやすいように文字列に変換したものです!
https://fishing-turi.comならfishing-turi.comはドメインになります!
つまり、IPアドレスとドメインを関連付けることで、検索欄にドメインを入力するだけで目的のサイトにアクセスすることができるようになります!
実際には入力されたドメインに関連づいたIPアドレスが裏側で呼ばれ、該当のサイトが表示されるようになっています!
DNS
DNSとは、ドメインをIPアドレスに変換する仕組みのことを指します!
DNSも同様です。IPアドレスのまま管理するのは大変ですが、google.comのように意味のある文字列に変換すると人間にとって管理しやすくなります!
そしてDNSのサービスを提供するサーバーをDNSサーバーと呼びます!
DNSサーバーは、ブラウザから入力されたドメインに対して、紐付けられたIPアドレスを返します!
ブラウザからドメインでアクセスする際には、以下のような処理が裏側で行われています!
- ブラウザからドメインでアクセスできる
- DNSサーバーにドメインを問い合わせる
- ドメインからIPアドレスを検索
- IPアドレスをブラウザに渡す
- ブラウザからIPアドレスでアクセス
- 該当サイトの表示
ポート番号
ポート番号とは、サーバーとアプリケーション間で通信する際に割り振られる番号です!
アプリケーションにはそれぞれ自動もしくは手動でポート番号が割り振られます!
利用する側は、IPアドレスに加えてポート番号を指定することで意図したアプリケーションにリクエストを送ることができます!
コメント