Web Server



 ◆ Webとは

 Webサーバとは、クライアントの
Webブラウザのリクエストに応じて、HTMLや画像などの表示を提供する
 サービスプログラム、そのWebサービスが動作するサーバのことです。Webサービスを提供する代表的な
 サーバソフトウェアには、オープンソースである
Apache(アパッチ)とNginx(エンジンエックス)と
 マイクロソフト社の
IIS(アイアイエス)があります。IISはWindows Serverに標準で搭載されています。

 WebサーバがクライアントにWebサービスを提供する時に使用されるプロトコルはHTTPです。HTTPでは、
 データを要求する
HTTPリクエストと、それに応答し要求されたデータを送り返すHTTPレスポンスの2つの
 やりとりを繰り返すことで、Webページを表示させています。


  


シーケンス 説明
1

 ユーザがWebブラウザを起動させて、URLを入力してEnterキーを押す。

2

 Webブラウザは指定したWebサーバにHTTPリクエストを送信して、Webページのデータを要求。

3

 Webサーバは、Webブラウザから受信したHTTPリクエストを解析。

4  Webサーバが、Webブラウザに要求されたデータをHTTPレスポンスとして返信。
5  Webブラウザは、受信したデータを解析してWebページとして表示。


 ◆ HTTPリクエスト:URLとメソッド

 WebブラウザからWebサーバにアクセスする際に送信されるHTTPリクエストには
URLとメソッドの情報が
 含まれています。Webサーバにアクセスするために、WebブラウザでURL(Uniform Resource Locators)
 を入力して、アクセスしたいファイルやプログラムなどを指定します。そのURLは以下の書式で入力します。


   


URLの構成 説明
スキーム


 アクセスするプロトコルを指定する部分。HTTPによるWebアクセスを行うためには「
http 」と入力。
 HTTPにSSLを使用した暗号化によるWebアクセスを行うためには「 https 」と入力。ポート番号443。

ホスト名

 アクセスするホスト名を指定する部分。DNSではFQDN(ホスト名+ドメイン名)と呼ばれている部分。

パス


 Webブラウザで表示させたいWebページのファイル名を指定する部分。ファイル名を指定しない場合は
 デフォルトで「index.html」のファイル名が呼び出される。つまり以下は同じWebページが表示される。
 「 http://www.infraexpert.com/ 」 = 「 http://www.infraexpert.com/index.html 」

 ※ 当サイトのURLを「 http://〜 」で入力しても、「https://〜」にリダイレクトさせるようにWebサーバで設定しています。



 URLを入力してWebサーバにアクセスし、メソッドによりWebサーバに対して何をしたいのかを示します。
 メソッドには以下のような種類があります。

メソッドの種類 説明
GET

 データを取得することをWebサーバに要求

HEAD

 データそのものは要求せず、メッセージヘッダだけを取得することをWebサーバに要求

POST

 Webサーバに、データを送信

PUT

 Webサーバに、ファイルをアップロード

DELETE  Webサーバ上にあるデータを削除することを要求
CONNECT  例えばプロキシサーバなどに、トンネルの確立を要求


  



 ◆ Webサーバ:静的コンテンツと動的コンテンツの処理

 Webページには、
静的コンテンツ動的コンテンツの大きく2種類があります。

 静的コンテンツでは、WebブラウザからのHTTPリクエストのパスで指定された例えば html ファイルが
 そのまま応答データとして送信されます。現在お読み頂いているこのページは静的コンテンツとなります。
 動的コンテンツでは、WebブラウザからのHTTPリクエストの度に生成されて表示されるWebコンテンツ
 内容が異なります。動的なコンテンツの代表例として、検索サイトやショッピングサイトなどがあります。

Webページ 説明
静的コンテンツ

 Webブラウザからの要求内容に関係なく、同じ内容が表示されるWebコンテンツ

動的コンテンツ

 Webブラウザから受信したリクエストに応じて、表示内容が変化するWebコンテンツ



 動的なコンテンツを作成する前提として、Webサーバ上で指定されたスクリプトが実行できる動作環境で
 ある必要があります。Webサーバ上で動的コンテンツを実現するための技術としてPerl、PHP、ASP.NET
 などがあります。

 従来は、動的コンテンツを作成するための技術として、Perlのプログラミング言語で作成された
CGIを使用
 することが多くありましたが、CGIの実行や処理はWebサーバ側で実施されて負荷が高いことが問題でした。

 現在は、ページの生成処理をクライアントで実行させる
Web API(Application Programming Interface)
 が主に使用されており、WebサーバはWeb APIに対するHTTPリクエストをXML形式またはJSON形式などで
 受け取ると
処理結果を同じ形式でHTTPレスポンスで返し、Webブラウザは動的なコンテンツを生成します。


  



サーバ技術をはじめから

ネットワークエンジニアとして

Copyright (C) 2002-2021 ネットワークエンジニアとして All Rights Reserved.