Kaigai Blog living abroad in my twenties

【僕の学習ノート】Webブラウザとは?仕組みについて分かりやすく解説

Infotech Networking

こんにちは、なおやです。

今日は、Courseraというプラットフォームで、Metaの社員さんたちから授業を受けました。

そこで得た学びが、下記のツイートです。

今回は、これを掘り下げて解説していきます。

この記事の信憑性

この記事は、Courseの授業を受けて、学び、理解したことを基に、僕なりの言葉と解釈で分かりやすく解説しています。まあ簡単にいうと、僕が学んだことのアウトプットノートです。
» Courseraという素晴らしいプラットフォームはこちら (授業は全て英語です)

【僕の学習ノート】Webブラウザとは?仕組みについて分かりやすく解説

【完全初心者向け】Webブラウザとは?仕組みについて分かりやすく解説

私たちが普段使用しているWebブラウザには、「Google Chrome」や「Safari」などが挙げられます。私たちは、いつもこれらを使ってWebサイトを閲覧したり、Youtubeを見たりしていますもんね。

でも、Webブラウザはどうやって「あなたが閲覧したいWebページ」を表示しているのか知っていますか?

この記事を読むことで、Webブラウザがどういった風に機能しているのかが分かります。

この記事を読む上での前提知識

Webページってなんだって方は先に「【僕の学習ノート】Webページとは?仕組みについて分かりやすく解説」をご覧ください。また、Webサーバーってなんだって方は先に「【完全初心者向け】サーバーとは?知っておくべきことを分かりやすく解説」をご覧ください。

この記事の目次

Webブラウザ (Web Browser) とは?

Webブラウザ (Web Browser) とは?
Webブラウザ(短縮:ブラウザ)とは、World Wide Web(短縮:Web) を閲覧するために使用するソフトウェアのことで、WebページをWebサーバーから受け取って表示するという仕事をしてくれます。

では、私たちはどうやってWebブラウザからWebページにアクセスしているのでしょうか?

私たちがWebページにアクセスする方法は主に3つ

私たちがWebページにアクセスする方法は主に3つ
  1. 検索エンジンを使う
  2. Webページ内のリンクをクリックする
  3. WebブラウザのアドレスバーにURLを入力する

1. 検索エンジンを使う

これが私たちが一番使う方法だと思います。要は、「Google」とか「Yahoo」などの検索エンジンを使って検索し、検索結果の中から読んでみたいWebページをクリックしてWebページにアクセスする方法です。

ちなみに、検索エンジンとWebブラウザは全く異なるものです。詳しくは、「こちらの記事」をお読みください。

2. Webページ内のリンクをクリックする

多分Webページを読んでいる最中に「こちらをクリック」みたいなのを見かけたりしませんか?例えば、amazonの商品を紹介しているサイトだったら、なんか商品をクリックしたら「amazonの販売サイト」に飛べるみたいな。

それは、Webページ内に他のWebページのURLを埋め込んでいるからなんですけど、これも新たなWebページにアクセスする1つの方法です。

3. WebブラウザのアドレスバーにURLを入力する

これは、あんまり使わない方法だと思います。なぜなら、私たちは、そのWebページやWebサイトのURLなんて覚えてませんもんね。

でも、見たいWebページのURLを知っていたら、それをWebブラウザのアドレスバーに入力することで、そのWebページにダイレクトで飛ぶことができます。

そこで、今回はこのWebページに私たちがアクセスする時に、Webブラウザはどの様に「WebサーバーからWebページのデータを引き出して」Webブラウザ上に表示しているのかを解説します。

Webブラウザの仕組み

Webブラウザの仕組み
  1. ユーザーからWebページにアクセスがある
  2. WebブラウザはDNSサーバーに助けを求める
  3. DNSサーバーが翻訳の仕事を行う
  4. WebブラウザはHTTPリクエストを行う
  5. WebサーバーはHTTPレスポンスを行う
  6. Webブラウザはレンダリングをする
  7. Webページが表示される

Webブラウザの仕組みを簡単にまとめると、こういった感じです。でも、これじゃ「何いってるのかさっぱり」だと思うので1つずつ詳しく解説していきます。

1. ユーザーからWebページにアクセスがある

ユーザーからWebページにアクセスがある
まずは、私たちの様なユーザーがWebブラウザを開いて「Webページ」にアクセスをします。

2. WebブラウザはDNSサーバーに助けを求める

WebブラウザはDNSサーバーに助けを求める
先ほど、ユーザーがWebページに「アクセスする時の方法」について解説しましたが、私たちは、URLを「アドレスバーに入力」したりすることでWebブラウザに「このページが見たい」ってことを伝えています。

補足:検索結果の中から「気になるWebページ」をクリックするのも実際には、その検索結果を表示しているWebページに「埋め込まれたURL」をクリックしています。

要は、ユーザーはWebページをクリックしたり、URLをアドレスバーに入力したりして、閲覧したいWebページのURLを、Webブラウザに伝えています。ちなみにURLはインターネット上の住所の様なものです。

でも、ここで1つ問題があります。

Webブラウザは、URLを読むことが出来ません。なぜなら、URLは私たち人間が読みやすい様に作られたものだからです。

なので、Webブラウザは、誰かに頼んでURLをIPアドレス(Webブラウザが読む事ができる) に翻訳してもらう必要があります。

そこで登場するのがDNSサーバーです。

Webブラウザは、DNDサーバーにURLを送り、IPアドレスに翻訳するようお願いします。

3. DNSサーバーが翻訳の仕事を行う

DNSサーバーが翻訳の仕事を行う
DNSサーバーは、WebブラウザからURLが送られてくると、そのURLを「IPアドレスに翻訳」してWebブラウザに送り返します。

  1. URLのドメイン名には、webサイトの情報が書かれている。(このサイトだったらkaigaiblog.comのような)
  2. 同じWebサイト内にあるWebページの情報は、同じWebサーバーが管理している。
  3. Webブラウザが欲しいのは、そのWebサーバーへの行き方。

故に、DNSサーバーは、送られてきたURLのドメイン名に紐づけられたIPアドレスをWebブラウザに送り返します。

これで、Webブラウザは、Webページの情報を保持するWebサーバーへの行き方を得る事ができました。

4. WebブラウザはHTTPリクエストを行う

WebブラウザはHTTPリクエストを行う
Webブラウザは、DNSサーバーから教えてもらった「IPアドレスを持つWebサーバー」に、Webページを表示する為に「必要なファイル」を要求します。

このやりとりは、HTTP (Hypertext Transfer Protocol) と呼ばれる通信プロトコルによって行われ、このやり取りのことをHTTPリクエストと言います。
※通信プロトコルとは:コンピューター同士が何かやりとりをする時に守るルールの様なもの

5. WebサーバーはHTTPレスポンスを行う

 WebサーバーはHTTPレスポンスを行う
Webサーバーは、要求された文書ファイルをWebブラウザに送り返します。

このやり取りもHTTPという通信プロトコルを用いて行われ、HTTPレスポンスと呼ばれます。

6. Webブラウザはレンダリングをする

Webブラウザはレンダリングをする
Webブラウザは、Webサーバーから「Webページを表示するのに必要なファイル」を受け取ると、レンダリングということをします。

なぜなら、Webサーバーから送られてきたファイルは、「コードで書かれた文書ファイル」なので、Webページを表示するには、それを1行ずつ読んでWebページを組み立てていく必要があるからです。

このWebページを生成する作業のことをレンダリングと言います。

まあ簡単にいうと、レンダリングとは、パーツで送られてきた模型を家で組み立てる様な感じです。

7. Webページが表示される

Webページが表示される
レンダリングが終わったら、webブラウザに「あなたがアクセスしたWebページ」が表示されます。

以上です!