好きをブチ抜く

「好き」をブチ抜く

本、映画、科学、哲学、心理、すごい人の考え方など。あらゆる情報を編集したい。

【Webの基本を確認したい】WebサーバからWebブラウザにコンテンツが届くまで

記事の内容

 

IPアドレスってなんや?

DNSサーバってなんだ?

ブラウザとサーバって、どうつながりあってるの?

 

みなさんこんにちは、メタです。

今回も好きをぶち抜いていきましょう!

 

この記事では、WEB技術の基礎をまとめます。

 

参考にした本はこちらです。

『ちゃんと使える力を身につける Webとプログラミングのきほんのきほん』

 

 

 

WEB系の開発をするために押さえておきたい基礎事項を、ざっくりとまとめたいと思います。

目次をみて気になる項目があった方は、ぜひ読んでみてください。

 

 

 

 

 

 

 

通信するには何が必要?

 

誰かと通信するには、相手を特定する必要があります。インターネットで相手を特定するために使われるのが、IPアドレスです。

 

50.60.40.40

 

管理する団体の存在のおかげで、重複せず割り当てられるようになっています。

 

私たちがネットにスマホなどでアクセスするときは、接続したプロバイダが持っているIPアドレス群から、一つが適当に割り振られます。

 

接続のたびに異なるIPアドレスが割り振られるわけです。ですので、基本的にはIPアドレスで個人を特定することはできません。

 

 

 

 

 

IPアドレスって、人間にはわかりにくいよね

 

20.30.40.50のようなIPアドレス。

人には親切ではない表記です。

 

ここで登場するのが、ドメイン名です。

IPアドレスにつけた名前のようなものです。

 

ドメイン名がをIPアドレスに変換してくれるサーバが、DNSサーバです。

 

ドメイン名は、階層化されています。

.jpや.comなどのくくりが、1番大きい階層です。

 

 

 

DNSサーバの役割は?

 

DNSサーバは、ドメイン名をIPアドレスに変換してくれます。

 

webサーバをドメイン名で運用するには、次の3つの手順が必要です。

 

1 ドメイン名の取得

2 DNSサーバの構築

3 ルートDNSサーバからたどれるようにする

 

 

 

 

なんで通信混乱しないの?

 

通信が混ざらないようにするために、ポートという番号で区別します。サーバやクライアントで通信するアプリケーションは、必ずポートを使って通信します。

 

サーバでは、クライアントからの接続を待つために、アプリがどこかのポートを開いておきます。ポート番号はあらかじめ決められています。(ウェルノウンポート)

 

 

 

 

webブラウザは、webサーバにどうやって要求するの?

 

私たちがwebブラウザにURLを打ち込んだとき、ブラウザはサーバへ要求文を送ります。

 

GETメソッドです。

 

webサーバ側で稼働しているwebサーバソフトは、GETメソッドを受け取り解釈します。そのあと、ファイルをクライアントに送信してくれるのです。

 

webサーバソフトの代表例がApache(アパッチ)です。

 

 

 

 

通信してるデータの中身を見られないようにするには?

 

SSLという仕組みで、データを暗号化します。

 

暗号化しない通信は、http://で始まります。対応するポート番号は、80番です。

 

SSLを使った通信は、https://で始まります。

対応するポート番号は443番です。

 

(なんで、80、443という数値なのか、今後調べて追記します)

 

SSLでは、公開鍵暗号方式という暗号化方法を使います。ペアになった二つのキー、秘密鍵と公開鍵を利用します。

 

公開鍵をあらかじめ配っておくことで、クライアントは配られた公開鍵を使用し、暗号化することができます。

公開鍵で暗号化された内容は、その公開鍵とペアになった秘密鍵でしか復元できません。この場合、秘密鍵を持っているのは、公開鍵を配布した存在だけです。

 

鍵の偽造を防ぐために、認証局の存在があります。

 

 

 

 

 

webサーバをつくるには?

 

 

1 物理的にサーバを準備する

マシンを購入し、サーバosをインストールする。

 

2 サーバを借りる

クラウドやレンタルサーバを借りる。

 

サーバの設定変更やユーザ作成など、全設定を変更できる権限をroot権限という。

 

仮想化技術を使うと、1台のサーバのなかに、複数の仮想的なサーバを構築できる。そのため、仮想サーバなら、1台の物理的なサーバを、複数台のサーバに分割してroot権限を与えることができます。これが、VPSです。

 

あとは、webサーバソフトをインストールし設定をします。サーバのどのディレクトリに置かれたファイルをwebで見せるのかを決めます。

 

 

 

 

 

参考資料

こちらの参考文献の内容を今後もまとめていく予定です!

 

 

 

 

 

 

 

関連記事

 

 

 

www.buchinuku.work

www.buchinuku.work

www.buchinuku.work

www.buchinuku.work

www.buchinuku.work

www.buchinuku.work