そもそもURLってなんだっけ...?


## この記事では

この記事では, **初心者向け**にURLについてまとめた記事になってます

以下のような方におすすめです
- なんとなくわかるけど, うまく説明できない...
- URLを入力してからの流れってどうなってるんだ...

URLくらい知っている！という方でも
面白い**豆知識**をまとめてるので良かったらご覧ください～！

## そもそもURLとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/756651/89c6fae7-05af-c4f5-aaee-25b0ae94a060.png)

上記のURLを分解して説明します
まず **赤色の部分** ```http:``` では **HTTPというプロトコルを使う宣言**をしています

**HTTP**とは, **ブラウザとサーバーの間で通信するためのプロトコル(約束)** です
さきに, こういう通信をするよ～と約束する感じです

ちなみに ```http:```以外にも
```ftp:``` , ```file:``` , ```mailto:``` などがあります


>**豆知識.1** httpの後ろの```//```ってなに？
>
>```//``` の後ろの文字列にはサーバー名が続きます
>つまり```//```で後ろに**サーバー名が続くかを判別している**ということです
>
>ルールみたいなものですかね?

つづいて **青色の部分** ```example.com```にはwebサーバーの名前が書いてあります

この名前から**DNS**で**ipアドレス**に変換し
どのコンピュータにアクセスするか判別してます

**DNS**とは```example.com```のような**webサーバーの名前をipアドレスに変換する**サーバーです

**ipアドレス**とは**コンピュータの住所**のことで **192.168.0.1** のような数字の羅列です

最後に**黄色の部分** ```index.html```にはファイルのパスが書いてあります
ここで, **コンピュータのどこにアクセスするかを判別**してます

つまり, ブラウザで```http://example.com/index.html```を入力すると以下のように動きます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/756651/14a4e02f-4627-05b3-4e80-9cc10bfff374.png)


> **豆知識.2** ```http://example.com/test```はどのファイルにアクセスしてる?
>
>```http://example.com/test```にアクセスするとどうなるか考えましょう
>
>最後に```/```がついてないので```test```はファイル名とみなされます
>
>したがって, まず```test```というファイルがあれば, そのファイルにアクセスし
>**なければ** ```test```という**ディレクトリ**にアクセスされます
>
>便利ですね...

>**豆知識.3** DNSって必要??
>
>え, 「```example.com```ではなく直接数字(**192.168.0.1**)を打ち込めばいいのでは?」 ですって?
>自分も同じこと考えてましたが, 実はDNSを使うのには理由があるみたいです
>
>答えはシンプルで **数字だと覚えにくいから** です
>
>では逆に, 住所を数字(**192.168.0.1**)ではなく```example.com```にしたらどうでしょう
>
>しかし, これはいまいちです
>
>パフォーマンスの話になるのですが
>数字(**192.168.0.1**)だと4バイトであるのに対し
>```example.com```だと最大で255バイトになります
>
>バイトが大きくなると**通信が遅くなります...**
>
>したがって, DNSが必要になります








## 最後に

 この記事では, 「[ネットワークはなぜつながるのか](https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84TCP-IP%E3%80%81LAN%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%88%B8%E6%A0%B9/dp/4822283119)」を読んで自分の復習用にまとめました

この本では,ブラウザにURLを入れてからページが表示されるまでの数秒に
何が起きてるのかを少しずつ順番に説明されています

**インターネットの探検ツアー**のような感じです！

初心者にとってわかりやすく, 上級者にとっても新しい学びがある**素晴らしい本**です(宣伝)

購入は[こちら](https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84TCP-IP%E3%80%81LAN%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%88%B8%E6%A0%B9/dp/4822283119)から是非～～！📚

最後に, もし間違いなどありましたら
お手数をおかけしますが [@sino0042900](https://twitter.com/sino0042900)までご連絡お願いいたします🙇‍♂️


## 参考文献
書籍 [ネットワークはなぜつながるのか](https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84TCP-IP%E3%80%81LAN%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%88%B8%E6%A0%B9/dp/4822283119)