ウェブサーバーとは?
ウェブサーバーは、相互接続されたソフトウェアとハードウェアのシステムであり、ウェブリソースを保存し、ウェブクライアント(ブラウザやAPIクライアントなど)から送信されたHTTPおよびHTTPSリクエストを処理し、ファイルを提供し、動的コンテンツを処理します。ただし、状況によっては、「ウェブサーバー」という用語は、前述のシステムの構成要素を説明するために使用されることもあります。混乱を避けるために:
ハードウェアに関して言えば、ウェブサーバーはインターネットに接続されたデバイスであり、ウェブサーバーソフトウェアとウェブサイトのリソースをホストします。
ソフトウェアに関して言えば、ウェブサーバーはユーザーからのリソース要求を処理するプログラムです。ウェブサーバーソフトウェアは、最低限、HTTPリクエストを処理できる必要があります。
動的ウェブサーバーと静的ウェブサーバーの違い
ウェブサーバーには、静的サーバーと動的サーバーの2つの主要な種類があります。その名の通り、静的ウェブサーバーはコンテンツを変更せず、ウェブページ全体を保存してそのままユーザーに送り返します。一方、動的Webサーバーはテンプレート(最も一般的には HTMLテンプレート)を使用して、指定されたデータベースから取得した情報でWebページを作成し、開発者が動的Webサイトを作成できるようにします。
どちらのタイプのウェブサーバーにも、コンテンツをホストするためのマシン(物理ハードウェアまたはクラウド内の仮想化環境)と、リクエストを処理するためのHTTPサーバーが必要ですが、動的ウェブサーバーには、ウェブテンプレートを入力するためのアプリケーションサーバーとデータベースも必要です。要約すると:
| | 静的Webサーバー | 動的Webサーバー |
|---|---|---|
| ホスティングマシンを持っている | | |
| HTTPサーバーを持つ | | |
| アプリケーションサーバーを持つ | | |
| データベースを持つ | | |
| 完全なウェブページを保存する | | |
| テンプレートを使用してページを作成する | | |
ウェブサーバーの仕組みは?
ウェブサーバーは、クライアントサーバーモデルを使用して機能します。デバイスがウェブサーバーでホストされている情報を必要とする場合、ウェブクライアントを使用してHTTPリクエストをウェブサーバーに送信します。次に、ウェブサーバーは必要なデータを見つけてウェブクライアントに応答を送り返し、ウェブクライアントはそれをエンドユーザーに表示します。典型的なリクエストと応答のプロセスは次のようになります。
01
ユーザーはウェブブラウザにURLを入力します。
02
ウェブブラウザは、 DNSサーバーまたは独自のキャッシュからウェブサーバーのIPアドレスを解決します。
03
ブラウザは、特定のリソースに対してHTTPリクエストをウェブサーバーに送信します。
04
ウェブサーバーが静的な場合、ページ全体をユーザーに送信して応答します。
04
ウェブサーバーが動的な場合、アプリケーションサーバーにテンプレートを埋めるようリクエストを送信します。これは、動的データベースからの情報を使用して行われます。ウェブサーバーは、完成したウェブページを送信することでブラウザに応答します。
06
ウェブブラウザは、受信したコンテンツをユーザーに表示します。
ウェブサーバーの主な機能は何ですか?
ウェブサーバーの主な機能は、クライアントからのリクエストを処理することです。つまり、サーバーに保存されているデータから特定のウェブリソースを取得し、ユーザーエージェント(通常はChromeやFirefoxなどのブラウザー)に送り返すことです。これらのユーザーリクエストは通常、HTTPまたはHTTPS Webプロトコルを使用して行われるため、事実上すべてのソフトウェアWebサーバーはHTTPサーバーでもあります。
一部のWebサーバーは、Webリソースの保存やクライアントリクエストの処理に加えて、次の機能を実行する役割を担っている場合があります。
仮想ホスティングの提供
ウェブサーバーは、1台のマシンで複数のウェブサイトをホストできるため、異なるドメインが同じ物理的または仮想的なインフラストラクチャを共有できます。ウェブサーバーは、ウェブベースのアプリケーションをホストすることもできます。
サーバー側のスクリプトを提供する
一部のWebサーバーは、サーバー側のスクリプト(PHP、Python、Node.jsなど)をサポートしており、ユーザーの操作やデータベースのコンテンツに基づいて動的なWebページを生成します。
帯域幅の制御
ウェブサーバーは、ネットワークトラフィックを調整して負荷のバランスを取るのに役立ちます。
ウェブサーバーの用途とは?
ウェブサーバーは主に、ウェブサイトとそのウェブページ(アプリケーションなどの追加コンテンツを含む)をホストし、オンラインユーザーにウェブコンテンツを配信するために使用されます。Webサーバーは、大規模な組織や大量のサービスに対応する必要はありません。自宅にあるパーソナルWebサーバーは、ユーザーのオンライン体験の多くの部分を向上させることができます。専用のホームサーバーを実行すると、インターネットに接続しているすべてのユーザーが24時間年中無休でコンテンツを利用できるようになります。
ウェブサーバーの例
ほとんどのWebサーバーは、サービスプロバイダー、使用するオペレーティングシステム、提供される機能に基づいて、4つの主要な分類のいずれかに分類されます。
Apache Webサーバー
Apache HTTPサーバーとも呼ばれるこのオープンソースのモジュール式ソフトウェアは、複数のプラットフォームで動作します。そのため、世界中で最も人気のあるウェブサーバーの1つとなっています。
Linux Webサーバー
優れた柔軟性で知られるオープンソースのLinuxウェブサーバーソフトウェアは、静的および動的コンテンツをユーザーに一貫して高速に配信できます。
NGINXウェブサーバー。
もう1つのオープンソースのウェブサーバーであるNGINXは、他のサーバータイプよりも軽量であるため、静的なウェブコンテンツの配信により適しています。NGINXサーバーとやり取りするウェブブラウザは、メールプロキシやリバースプロキシサービスなどの機能も利用できます。
IISウェブサーバー
Microsoftのインターネットインフォメーションサービス(IIS)は、Windowsオペレーティングシステム向けのウェブサーバーです。主に、PHPスクリプトをホストする静的Webサーバー、FTPサーバー、またはアプリケーションサーバーの一部として使用されます。IIS Webサーバーは、動的アプリケーションにも対応しています。
さらに詳しい情報をご希望ですか?
サイバーセキュリティのニュースやオンラインプライバシーのヒントをお届けするニュースレターをご購読ください。
ウェブサーバーセキュリティのベストプラクティス
Webサーバーはサイバー犯罪者にとって魅力的な標的であるため、Webサーバーのセキュリティは、不正アクセスを防ぎたい組織にとって重要な考慮事項です。多くのWebサーバーはファイアウォールで保護されていますが、IT担当者は次のセキュリティ対策を実装することで、悪意のあるWebシェルなどのサイバー脅威のリスクをさらに軽減できます。
Webサーバー管理ツールのパスワードをより強力にする
不正アクセスを防ぐため、パスワードは複雑でなければならず、信頼できるユーザーと担当者のみに提供する必要があります。
より安全なウェブプロトコル
HTTPS通信(SSLおよびTLSプロトコルに依存)は暗号化されており、標準のHTTPよりも安全性が高く、ウェブサーバーとそのコンテンツにアクセスしようとするユーザーの両方をより適切に保護します。
定期的な更新
DNSブロックは、既知の悪意のあるドメインをフィルタリングすることで、有害なウェブサイトへのアクセスを防止するのに役立ちます。フィッシングサイトやマルウェアホストへのアクセスを制限する効果的な方法です。
リバースプロキシ
リバースプロキシは、Webクライアントと対象のWebサーバーの間の仲介役として機能し、脆弱な可能性のある内部サーバーを外部からの攻撃から保護します。また、トラフィックの負荷を分散することもできます。
Secure Shell
Secure Shell(SSH)暗号化は、リモートWebサーバーへのログイン時に追加のセキュリティを提供します。
よくある質問
オンラインセキュリティをワンクリックで始めましょう。
世界をリードするVPNで安全を確保しましょう