Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトランジット サーバーとして機能して伝送効率を向上させることもできます。 1. 単一の仮想ホストで複数のドメイン名を実装する HTTP/1.1 仕様では、1 つの HTTP サーバーで複数の Web サイトをホストできます。 物理的にサーバーが 1 台しかない場合でも、仮想ホスト機能を使用することで複数のサーバーが存在することが想定されます。 インターネットでは、対象のウェブサイトにアクセスする前に、DNS サービスを通じてドメイン名が IP アドレスにマッピングされます (ドメイン名解決)。リクエストがサーバーに送信されると、すでに IP アドレスの形式でアクセスされていることがわかります。 したがって、サーバーが www.tricorder.jp と www.hackr.jp という 2 つのドメイン名をホストしている場合、リクエストを受信すると、どのドメイン名にアクセスするかを判断する必要があります。 仮想ホストは同じ IP アドレスで、異なるホスト名とドメイン名を持つ複数の Web サイトをホストできるため、HTTP リクエストを送信するときは、ホスト名またはドメイン名の URI を Host ヘッダーに完全に指定する必要があります。 2. 通信データ転送手順: プロキシ、ゲートウェイ、トンネル これらのアプリケーションとサーバーは、通信回線上の次のサーバーに要求を転送し、そのサーバーからの応答を受信してクライアントに転送することができます。 ①プロキシ:プロキシサーバーの基本的な動作は、クライアントからのリクエストを受信し、他のサーバーに転送することです。プロキシはリクエスト URI を変更せず、リソースを保持しているターゲット サーバーに直接送信します。リソース エンティティを保持するサーバーは、オリジン サーバーと呼ばれます。ソースサーバーから返された応答は、プロキシサーバーを通過した後、クライアントに送信されます。 プロキシ サーバーを使用する理由としては、キャッシュ テクノロジを使用してネットワーク帯域幅のトラフィックを削減すること、組織内の特定の Web サイトへのアクセスを制御すること、アクセス ログを取得することを主な目的としていることなどが挙げられます。 プロキシを使用する方法はいくつかあります。 キャッシュプロキシ: プロキシが応答を転送する場合、キャッシュ プロキシはリソースのコピーをプロキシ サーバーに事前に保存します。プロキシは同じリソースの要求を再度受信すると、元のサーバーからリソースを取得する代わりに、以前にキャッシュされたリソースを応答として返すことができます。 透過プロキシ: 要求または応答を転送するときにメッセージに対して何の処理も実行しないプロキシ タイプは、透過プロキシと呼ばれます。逆に、メッセージの内容を処理するプロキシは非透過プロキシと呼ばれます。 ②ゲートウェイ:ゲートウェイの動作メカニズムはプロキシの動作メカニズムと非常に似ています。ゲートウェイにより、通信回線上のサーバーは HTTP 以外のプロトコル サービスを提供できるようになります。ゲートウェイを使用すると、クライアントとゲートウェイ間の通信回線で暗号化を使用して接続のセキュリティを確保できるため、通信のセキュリティを実現できます。 ③ トンネル:トンネルは必要に応じて他のサーバーとの通信回線を確立し、SSLなどの暗号化方式を使用して通信を行うことができます。トンネルの目的は、クライアントがサーバーと安全に通信できるようにすることです。 トンネル自体は HTTP リクエストを解析しません。つまり、リクエストはそのまま後続のサーバーに転送されます。通信中の双方が切断するとトンネルは終了します。 3. リソースを節約するためのキャッシュ キャッシュは、プロキシ サーバーまたはクライアントのローカル ディスクに保存されているリソースのコピーです。キャッシュを使用すると、サーバーへのアクセスが削減され、通信トラフィックと通信時間が節約されます。 キャッシュ サーバーはプロキシ サーバーの一種であり、キャッシュ プロキシ タイプに分類されます。 ①キャッシュの有効期限 ②クライアントキャッシュ |
<<: LinuxでRPMを使用してmysql5.7.17をインストールする
>>: JavaScript WeakMap の使い方の詳しい説明
序文mysqlslap は、MySQL サーバーへのクライアント負荷をシミュレートし、各ステージの時...
この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...
tomcat はオープンソースの Web サーバーです。Tomcat ベースの Web は実行効率...
最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...
大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...
Vue のトランジションは、アニメーション トランジションをカプセル化するコンポーネントです。一般...
目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...
テーブルを美しくするために、テーブルにさまざまな境界線の色を設定できます。基本的な構文<テーブ...
目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...
Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...
問題を見つける最近、仕事で問題が発生しました。MySQL データベースにテーブルを作成するときに、ラ...
目次プロセスデモミニプログラムバックエンドインターフェースプロセス各リクエストインターフェースは検証...
目次1. NFS の概要2. NFS構築1. NFSサーバーの構築2. NFSクライアントの構築3....
CSS では、テキストは私たちが毎日扱う最も一般的なものの 1 つです。テキストの場合、テキストの装...
/etc/docker/daemon.json を編集し、以下を追加します。 { "ストレ...