PHP PHP入門講座 プログラミング

【PHPプログラミング入門講座】Webサーバーの処理について詳しく説明

PHPプログラミングのキービジュアル

Webサーバーの処理について詳しく説明します

前回の記事「【PHPプログラミング入門講座】サーバーについて理解しよう」では、いろいろなサーバー(サーバーソフトウェア)の種類について紹介しました。
今回は、その中で今後PHPプログラミングを理解するために最も関係があるWebサーバーにフォーカスして説明します。

ブラウザとWebサーバー間の処理の流れ

Webサーバー中身を図解化して、ブラウザのアドレスバーにURL「http://www.example.com/mydir/hoge.html」を入力した場合の処理について説明します。

【STEP1】HTMLファイルを取得する

【STEP1】HTMLを取得する
図:【STEP1】HTMLを取得する

まずは、最初にURLで指定したHTMLファイルを取得します。
上図はその処理の流れを描いた図です。

(1)入力したURL「http://www.example.com/mydir/hoge.html」をもとに、ブラウザは対象のWebサーバー「www.example.com」にアクセス(リクエスト)します。
(2)-(3)ブラウザからのリクエストを受信したWebサーバーはサーバー内の「/mydir/」ディレクトリ(※注1)内にあるファイル「hoge.html」を見つけてデータを読み取ります。
(4)そして「hoge.html」をレスポンスデータとして返します。

<用語説明>
前回の記事「【PHPプログラミング入門講座】サーバーについて理解しよう」で説明しましたが、念のため書いておきます。

  • リクエスト:データの送信処理のこと。
  • レスポンス:データの返信処理のこと。
  • リクエストデータ:送信するデータのこと。
  • レスポンスデータ:返信するデータのこと。

注1:「ディレクトリ」と「フォルダ」は同じ意味です。Linux系、UNIX系のOSの場合は「ディレクトリ」という言葉を使い、Windows系のOSの場合は「フォルダ」という言葉を使うのが一般的です。それぞれの文化の違いで呼び方が異なるだけです。

【STEP2】HTMLのソースを分析し、その中に記述されている各ファイルを取得する

【STEP2】HTMLのソースを分析し、その中に記述されている各ファイルを取得する
図:【STEP2】HTMLのソースを分析し、その中に記述されている各ファイルを取得する

ブラウザは受信した「hoge.html」のソースを分析し、その中にCSS / JS / 画像 / 動画 などページを表示するために必要な要素のURLを検出した場合、さらにそれらを取得するためにWebサーバーにアクセス(リクエスト)します。

例えば、上図は例として、CSSファイル「style.css」を取得する流れを描いています。

(1)-(2)取得した「hoge.html」のソース内に「http://www.example.com/mydir/style.css」が書かれていたのを検出し、再びWebサーバーにアクセス(リクエスト)します。
(3)-(4)ブラウザからのリクエストを受信したWebサーバーはサーバー内の「/mydir/」ディレクトリ内にあるファイル「style.css」を見つけてデータを読み取ります。
(5)そして「style.css」をレスポンスデータとして返します。
(6)同様にhoge.htmlのソースに書かれている他のファイルも取得し、最終的に取得した多数のファイルを用いてWebページが表示されます。

Webページが表示されたイメージ
写真:Webページが表示されたイメージ

おわりに

以上のように、Webページが表示される数秒の間に、Webページの表示に必要な全ファイルを取得するために、何十回もブラウザとWebサーバーの間で通信(リクエスト&レスポンス)処理が繰り返されているのです。
ちょっと驚きましたか?(笑)

PHPプログラミング入門講座 〜 全記事一覧 〜

-PHP, PHP入門講座, プログラミング
-, , , ,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.