記事の内容
IPアドレスってなんや?
DNSサーバってなんだ?
ブラウザとサーバって、どうつながりあってるの?
みなさんこんにちは、メタです。
今回も好きをぶち抜いていきましょう!
この記事では、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で見せるのかを決めます。
参考資料
こちらの参考文献の内容を今後もまとめていく予定です!
関連記事