コンピュータネットワークに関する注意事項 - アプリケーション層

6. アプリケーション層

6.1 ネットワークアプリケーションモデル

各アプリケーション層プロトコルは、特定の種類のアプリケーションの問題を解決するように設計されており、多くの場合、問題は、異なるホストにある複数のアプリケーション プロセス間の通信と共同作業を通じて解決されます。アプリケーション層の具体的な内容は、アプリケーションプロセスが通信する際に従うプロトコルを規定することである。これらのアプリケーション プロセス間の通信とコラボレーションには通常、特定のパターンが採用されます。一般的なものには、クライアント/サーバー モデルと P2P モデルがあります。

クライアント/サーバーモデル(C/Sモデル)

ここに画像の説明を挿入します

クライアントとサーバーはどちらも、通信に関与する 2 つのアプリケーション プロセスを指します。クライアント/サーバー モデルは、サービスと提供されるサービスの間の関係を記述します。サービスには、ファイル転送サービス、電子メール サービスなど、任意のアプリケーションを指定できます。このモデルでは、クライアントがサービスの要求者であり、サーバーがサービスのプロバイダーです。たとえば、ホスト A はホスト B にサービス要求を発行します。ホスト A はクライアントであり、ホスト B はホスト A にサービスを提供し、ホスト B はサーバーです。クライアント プログラムはサーバー プログラムのアドレスを知っている必要がありますが、サーバー プログラムはクライアント プログラムのアドレスを知る必要はありません。

クライアント/サーバーモデルの主な特徴:

  • ネットワーク内のコンピュータのステータスが不均等である、サーバーは、ユーザーのアクセス許可を制限することでクライアントを管理するという目的を達成できるため、ユーザーが自由にデータを保存したり、自由にデータを削除したり、その他の制限されたネットワーク活動を実行したりすることはできません。
  • ネットワーク全体の管理はいくつかのサーバーによって行われるため、ネットワーク管理は非常に一元化されており便利です。この利点は、大規模ネットワークではさらに顕著になります。
  • スケーラビリティが低いサーバー ハードウェアとネットワーク帯域幅の制限により、サーバーがサポートできるクライアントの数は比較的限られており、クライアントの数が急速に増加すると、ネットワーク アプリケーション システムの効率に大きな影響を与えます。

P2Pモデル

ここに画像の説明を挿入します

P2P モデルとは、2 つのホストが通信時にどちらがサービス要求者でどちらがサービスプロバイダーであるかを区別しないことを意味します。両方のホストが P2P ソフトウェアを実行している限り、同等のピアツーピア接続で通信できます。たとえば、両方の当事者は、ハードディスクに保存されている相手方の共有ドキュメントをダウンロードできます (クライアント/サーバー モデルでは、クライアントがアクティブにリクエストを開始した場合にのみ、ドキュメントをサーバーから取得できます)。ドキュメントをサーバーと複数のクライアントに渡すことができます。コンピューター間でファイルを共有したい場合は、サーバー経由でのみ転送できます。たとえば、QQLive や eDonkey などの一般的に使用されているソフトウェアは P2P モデルを使用しています。

P2P モデルは、ピアツーピア接続の各ホストがクライアントとサーバーの両方であることを除けば、本質的には依然としてクライアント/サーバー モデルです。

P2Pモデルがもたらす利点は、任意のホストをサーバーにできることであり、専用サーバーを必要とした元のモデルが変更され、複数のクライアント間でドキュメントを直接共有できることは明らかです。さらに、P2P ネットワーク モデルを使用して、専用サーバーのパフォーマンスのボトルネック問題を解決できます。(たとえば、ストリーミング メディアの再生はサーバーに過大な負荷をかけますが、P2P モデルを通じて、多数のクライアントを使用してサービスを提供できます)。

P2Pモデルの主な特徴:

  • 各ノードのアイドル状態のコンピューティング能力とストレージ容量を使用して、負荷の高いコンピュータタスクをさまざまなノードに割り当てることができます。アグリゲーションにより強力なサービスが実現
  • 優れたシステム拡張性従来のサーバーには接続帯域幅の制限があり、一定数のクライアント接続しか到達できません。しかし、P2P モデルでは、この問題は回避できます。
  • ネットワークはより堅牢になり、中央ノードの障害の問題は発生しません。一部のノードが接続に失敗しても、残りのノードは完全なネットワークを形成できます。

6.2 DNSシステム

www.abc.com 経由でホームページ B にアクセスできない場合、ホームページ B を保存しているサーバーの IP アドレス (XX.XX) を直接使用して、ホームページ B にアクセスする方法はありますか? もちろん、ネットワーク全体に Web サイトが少数しかない場合は、サーバーの IP アドレスをほとんど覚えてアクセスすることはできませんが、何千もの Web サイトが正しくアクセスするには、サーバーの IP アドレスを覚えておく必要があります。正しくアクセスできる人は多くないと思いますが、個人ユーザーがインターネットに夢中になると、覚えやすいドメイン名でWebサイトにアクセスできるようにドメイン名が登場します。しかし、これは表面的なもので、実際のアクセスには依然として IP アドレスが必要です。そこで当然、ドメイン名を対応する IP アドレスに変換できるものがあればいいのではないかと考え、DNS システムが誕生しました。

6.2.1 DNSシステムの概念

DNS は概念的に 3 つの部分に分かれています。

  • 階層型ドメイン名前空間
  • ドメインネームサーバー
  • パーサー

6.2.2 階層型ドメイン名前空間

インターネットでは、階層ツリー構造の命名方法が使用されます。インターネットに接続されているホストまたはルーターには、一意の階層名が付いています。、つまりドメイン名(Domain Name)です。

ドメインはサブドメインに分割することもでき、サブドメインはサブドメインのサブドメインに分割することもできるため、トップレベル ドメイン名、セカンド レベル ドメイン名、サード レベル ドメイン名などを導入できます。

各ドメイン名は一連のラベル (各ラベルは、異なるレベルのドメイン名を表します。)、各ラベルの間はドットで区切られており、形式は次のとおりです。

···. サードレベルドメイン名. 第 2 レベルドメイン名. トップレベルドメイン名

最も低いレベルのドメイン名は一番左に書かれ、最も高いレベルのトップレベルのドメイン名は一番右に書かれます。ドメイン名は大文字と小文字が区別されません。

ここに画像の説明を挿入します

トップレベル ドメイン名は主に次の 3 つのカテゴリに分類されます

  • 国内トップレベル ドメイン名 (nTLD) (中国の .cn、米国の .us、英国の .uk など)。
  • 汎用トップレベル ドメイン名 (gTLD)、最も初期のトップレベル ドメイン名は次のとおりです。
    • .com (企業および企業)
    • .net (ネットワーク サービス組織)
    • .org (非営利団体)
    • .edu (米国の専門教育機関)
    • .gov (米国固有の政府部門)
    • .mil (米国の専用軍事部門)
    • .int (国際機関)
  • インフラストラクチャ ドメイン、このトップレベル ドメイン名一つしかない、アルパ逆引きドメイン名解決に使用されるため、逆引きドメイン名とも呼ばれます

ここに画像の説明を挿入します

6.2.3 ドメインネームサーバー

インターネットのドメイン ネーム システム (DNS) は、オンライン分散データベースシステムクライアント/サーバーモデルを採用しています。名前からドメイン名への解決は、複数のドメイン ネーム サーバーによって実行されます。ドメイン ネーム サーバー プログラムは専用ノード上で実行されます。プログラムを実行するマシンはドメイン ネーム サーバーと呼ばれます。

サーバーが担当する (または権限を持つ) 範囲はゾーンと呼ばれます。図 6-5 に示すように、各部隊は状況に応じて管轄区域を分割していますが、ゾーン内のすべてのノードが接続されている必要がある各ゾーンは、ゾーン内のすべてのホストのドメイン名から IP アドレスへのマッピングを保存するために、対応する権限ドメイン ネーム サーバーを使用して設定されます。DNS サーバーの管轄権は「ドメイン」ではなく「ゾーン」に基づいており、ゾーンはドメイン以下である必要があります

ここに画像の説明を挿入します

インターネット上のドメインネームサーバーシステムは、ドメイン名の階層に従って配置された各ドメイン ネーム サーバーは、ドメイン ネーム システムの一部のみを管理します。したがって、ネームサーバーには 4 つの異なるタイプがあります。

  • ルート ドメイン ネーム サーバー (最上位のドメイン ネーム サーバー)。ルート ドメイン ネーム サーバーは最も重要なドメイン ネーム サーバーですすべてのルート ドメイン ネーム サーバーは、すべてのトップレベル ドメイン ネーム サーバーのドメイン名と IP アドレスを知っています。どのローカル ドメイン ネーム サーバーであっても、インターネット上のドメイン名を解決したい場合は、自分自身で解決できない限り、まずルート ドメイン ネーム サーバーに頼ります。
    • ルート ドメイン ネーム サーバーは、トップレベル ドメイン名 (com など) を管理するために使用され、クエリ対象のドメイン名を IP アドレスに直接変換しません。ローカル ドメイン ネーム サーバーに、次にどのトップレベル ドメイン ネーム サーバーをクエリするかを指示します。
  • トップレベルのドメインネームサーバー。これらのネームサーバーこのトップレベル ドメイン ネーム サーバーに登録されているすべてのセカンド レベル ドメイン名の管理を担当します。DNS クエリ要求を受信すると、対応する応答が返されます (それが最終結果である場合もあれば、次に検索されるドメイン ネーム サーバーの IP アドレスである場合もあります)。
  • 権威あるドメインネームサーバー(認可されたドメインネームサーバー)。これは、前述したように、ゾーンを担当するドメイン ネーム サーバーです。権威ドメイン ネーム サーバーが最終的なクエリの回答を提供できない場合、クエリ要求を発行した DNS クライアントに、次にどの権威ドメイン ネーム サーバーを検索するかを指示します。
  • ローカルドメインネームサーバー。ローカル ネーム サーバーは、ドメイン ネーム システムにとって非常に重要です。ホストが DNS クエリ要求を発行すると、クエリ要求メッセージがローカル ドメイン ネーム サーバーに送信されます。各インターネット サービス プロバイダー (ISP)、大学、さらには大学内の学部がローカル ネーム サーバーを持つことができます。このタイプのネーム サーバーは、デフォルト ネーム サーバーと呼ばれることもあります。ローカル接続を使用する場合、DNS サーバーに入力する必要があります。これはローカル DNS サーバーのアドレスです。

ここに画像の説明を挿入します

6.2.4 ドメイン名解決プロセス

ホストは、次を使用してローカル ドメイン ネーム サーバーにクエリを実行します。再帰クエリ

ホストによってクエリされたローカル ドメイン ネーム サーバーがクエリされたドメイン名の IP アドレスを知らない場合、ローカル ドメイン ネーム サーバーは DNS クライアントとして他のドメイン ネーム サーバーにクエリ要求メッセージを送信し続けます。

ローカル ドメイン ネーム サーバーからルート ドメイン ネーム サーバーへのクエリ通常は反復クエリが使用されますが、最初のクエリ要求メッセージの設定に応じて、どのクエリ方法が必要かに応じて、もちろん再帰クエリも使用できます。

反復クエリ

ルート ドメイン ネーム サーバーがローカル ドメイン ネーム サーバーから反復クエリ要求メッセージを受信すると、クエリ対象の IP アドレスを指定するか、ローカル ドメイン ネーム サーバーに「次にどのドメイン ネーム サーバーをクエリするか」を指示します。を実行し、ローカル ドメイン ネーム サーバーに後続のクエリを実行させます。

ここに画像の説明を挿入します

再帰クエリ

再帰的なクエリの意味ローカル ドメイン ネーム サーバーはルート ドメイン ネーム サーバーに 1 回クエリを実行するだけで済み、その後のクエリは他のいくつかのドメイン ネーム サーバー間で実行されます。ステップ 7 で、ローカル ドメイン ネーム サーバーはルート ドメイン ネーム サーバーから必要な IP アドレスを取得し、最後にステップ 8 で、ローカル ドメイン ネーム サーバーはホスト m.xyz.com にクエリ結果を通知します。

ここに画像の説明を挿入します

インターネットに接続されているホストのドメイン名は一意である必要があります

6.3 FTP

6.3.1 FTP の仕組み

ファイル転送プロトコル (FTP) は、インターネット上で最も広く使用されている転送プロトコルです。FTP は対話型アクセスを提供し、クライアントがファイルの種類と形式を指定し、ファイル アクセス権を許可できるようにします。FTP は各コンピュータ システムの詳細を保護するため、異種ネットワーク内のコンピュータ間でファイルを転送するのに適しています。

FTP はファイル転送のためのいくつかの基本サービスのみを提供しますTCP を使用してサービスを確実に転送しますFTP はクライアント/サーバー モデルを使用します。1 つの FTP サーバー プロセスが複数のクライアント プロセスに同時にサービスを提供できます。FTPサーバープロセスこれは、新しいリクエストの受信を担当するメイン プロセスと、単一のリクエストの処理を担当する複数のスレーブ プロセスの2 つの部分で構成されます。

メインプロセスの作業手順は次のとおりです。

  • クライアント プロセスが接続できるように、ウェルノウン ポート (ポート番号は 21) を開きます。
  • クライアントプロセスが接続要求を発行するまで待ちます。
  • スレーブ プロセスを開始してクライアント プロセスからのリクエストを処理するスレーブ プロセスは、クライアント プロセスへの要求を処理した後に終了しますが、スレーブ プロセスは、動作中に必要に応じて他の子プロセスを作成することもあります。
  • 待機状態に戻り、引き続き他のクライアントプロセスからのリクエストを受信します。メインプロセスとスレーブプロセスの処理は並行して実行されます

6.3.2 制御接続とデータ接続

ファイルを転送する際には、FTP クライアントとサーバーの間に 2 つの TCP 接続が確立されます。1つは制御コマンドと応答の送信に使用され、制御接続と呼ばれますもう 1 つはデータ接続と呼ばれ、実際のファイル コンテンツの送信に使用されます。

ここに画像の説明を挿入します

FTP サーバーはポート 21 でリッスンし、クライアント接続を待ちます。このポートで確立された接続は制御接続と呼ばれます。、クライアントは、ログイン、現在のディレクトリの変更、データ送信モードの切り替え、ディレクトリの内容の一覧表示、ファイルのアップロードなど、さまざまなリクエストをこの接続を通じてサーバーに送信できます。ファイルを転送する必要がある場合、サーバーとクライアントの間に別の接続が確立されます。これはデータ接続と呼ばれます。

制御接続はセッション全体を通じて開いたままとなり、FTP クライアントからの転送要求は制御接続を介してサーバー側の制御プロセスに送信されますが、制御接続はファイルの転送には使用されません実際のファイルの転送にはデータ接続が使用されますFTP クライアントから送信されたファイル転送要求を受信したサーバー側制御プロセスは、データ転送プロセスと、クライアント側とサーバー側のデータ転送プロセスを接続するためのデータ接続を作成しますデータ転送プロセスは実際にファイル転送を完了し、データ転送接続を閉じ、転送完了後に操作を終了します。

6.4 電子メール

6.4.1 電子メールの構造

電子メールとも呼ばれる電子メールは、現在インターネット上で最も頻繁に使用されているサービスです。インターネット ユーザーに、高速、便利、そして安価な通信方法を提供します。電子メールは、インターネット サービス プロバイダ (ISP) のメール サーバーに送信され、受信者のメールボックスに配置されます。受信者は、いつでも ISP のメール サーバーにオンラインでアクセスして、そのメールを読むことができます。

電子メール システムには次の 3 つの主要なコンポーネントがあります。

  • ユーザー エージェント: ユーザーと電子メール システム (Outlook や Foxmail など) の間のインターフェイス。その基本的な機能は、書き込み、表示、処理です。
  • メールサーバー:インターネット上のすべての ISP がメールサーバーを備えており、メールの送受信を行うとともに、メールの配送状況(配達、拒否、紛失など)を送信者に報告する機能があります。
  • Simple Mail Transfer Protocol (SMTP)、Post Office Protocol-Version3 (POP3) など、電子メールで使用されるプロトコル。

メール送受信の流れ

ここに画像の説明を挿入します

  • 送信者はユーザー エージェントを呼び出して、送信するメッセージを編集します。ユーザー エージェントは SMTP を使用して電子メールを送信メール サーバーに配信します。
  • 送信メールサーバーはメールをメールキャッシュキューに入れて送信を待ちます。
  • 送信メール サーバー上で実行されている SMTP クライアント プロセスは、メール キャッシュ内に送信する電子メールがあることを検出すると、受信メール サーバー上で実行されている SMTP サーバー プロセスへの TCP 接続の確立を開始します。
  • TCP 接続が確立されると、SMTP クライアント プロセスはリモート SMTP サーバー プロセスへの電子メールの送信を開始します。送信するすべての電子メールが送信されると、SMTP は確立された TCP 接続を閉じます。
  • 電子メールを受信すると、受信メール サーバーで実行されている SMTP サーバー プロセスが電子メールを受信者のユーザー メールボックスに入れ、受信者が都合の良いときに電子メールを読むのを待ちます。
  • 受信者がメールを受信する場合、ユーザー エージェントを呼び出し、POP3 (または IMAP) を使用して、受信メール サーバーのユーザーのメールボックスからメールを取得します (メールボックスに手紙がある場合)。

6.4.2 電子メール形式と MIME

メール形式

電子メールはエンベロープとコンテンツの 2 つの部分で構成されます通常、メール内容はヘッダー形式のみ指定され、メール本文はユーザーが自由に記述します。ユーザーがヘッダーを作成すると、電子メール システムは自動的に封筒から必要な情報を抽出し、封筒に書き込みます。

電子メール コンテンツのヘッダーにはいくつかのキーワードが含まれており、その後にコロンが続きます。たとえば、「To:」は受信者の電子メール アドレス、「Subject:」は電子メールの件名などです。

マイム

SMTP は、7 桁の ASCII コードで一定の長さの電子メールの送信に制限されているため、SMTP が提案されました。多目的インターネットメール拡張機能 (MIME)MIME の目的は、現在の [RFC 822] 形式を引き続き使用しますが、電子メール本文の構造を追加し、非 ASCII コードを送信するためのエンコード ルールを定義することです

ここに画像の説明を挿入します

MIME では、非 ASCII 文字を ASCII 文字に変換するための 2 つのエンコード方式が定義されています(重要ではありません)。

  • quote-printable エンコーディング

    少量の非 ASCII コードのみを送信する場合に適しており、非 ASCII コード文字を表すには、「=」の後に 2 つの数字が続きます。これら 2 つの数値は文字の 16 進値であり、ASCII コード文字は変換されません。

  • based64エンコーディング

    任意のバイナリ ファイルには、base64 エンコードを使用できます。このエンコード方式は、バイナリコードを 24 ビットの等しい長さの単位に分割し、次に 24 ビット単位を 4 つの 6 ビットグループに分割し、各 6 ビットグループを次の方法で ASCII コードに変換します。 。6 ビットのバイナリ コードには 0 ~ 63 の範囲の 64 の異なる値があり、A は 0、B は 1 などを表します。大文字を26個並べたあと、小文字を26個並べ、さらに数字を10個並べ、最後に62を「+」、63を「/」で表します。次に、2 つの等号「==」と 1 つの等号「=」を一緒に使用して、コードの最後のグループがそれぞれ 8 ビットまたは 16 ビットのみであることを示します。キャリッジ リターンとライン フィードは無視され、どこにでも挿入できます。

ここに画像の説明を挿入します

6.4.3 SMTP と POP3

SMTP

SMTP は、相互に通信する 2 つの SMTP プロセス間で情報を交換する方法を指定します。SMTP は TCP 上で実行され、ポート 25 を使用し、クライアント/サーバー モデルも使用します

SMTP では 14 個のコマンドと 21 種類の応答情報が指定されています (覚える必要はありません)。

SMTP通信の3段階

  • 接続が確立されます。接続は、送信ホストの SMTP クライアントと受信ホストの SMTP サーバーの間に確立された SMTP です。中間メールサーバーを使用しない
  • 郵便配達。
  • 接続が解放されます。電子メールの送信後、SMTP は TCP 接続を解放する必要があります。

ポップ3

POP は非常にシンプルですが、機能が制限されたメール読み取りプロトコルです。現在、3 番目のバージョンである POP3 を使用しているPOP では、クライアント/サーバー動作方式も使用されていますPOP クライアント プログラムはメールを受信するユーザーのコンピュータ上で実行されている必要があり、POP サーバー プログラムはユーザーが接続している ISP のメール サーバー上で実行されている必要があります。

POP3 の特徴は、ユーザーが POP サーバーからメールを読んでいる限り、POP サーバーはメールを削除することです。

要約する

  • メール読み取りプロトコル POP とメール配信プロトコル SMTP を混同しないでください。

    SMTP は、送信者のユーザー エージェントが送信元メール サーバーにメールを送信するとき、および送信元メール サーバーが宛先メール サーバーにメールを送信するときに使用されます。POP は、ユーザーが宛先メール サーバーからメールを読み取るために使用するプロトコルです。

  • メール送信プロセスの概要

    • クライアントはサーバーへの TCP 接続を確立します。
    • サーバーは、接続が確立されたことを確認するために ID 情報を送信します。
    • クライアントは ID 情報を送信し、サーバーは受信を確認します。
    • クライアントは電子メール受信者アドレスを送信し、サーバーは受信を確認します。
    • クライアントは電子メール送信者アドレスを送信し、サーバーは受信を確認します。
    • クライアントは電子メールのコンテンツの送信をリクエストし、サーバーはその準備が整っていることを確認します。
    • クライアントは、ドット (.) 文字のみを含む行で終わる電子メールのコンテンツを送信し、サーバーはデータを受信したことを示す確認を送り返します。

    上記のプロセスからわかるように、クライアントは SMTP 経由でメール サーバーにメールを送信できますが、メール送信者のアドレスは完全に偽造でき、サーバーは受動的に受信することしかできず、これがスパムの蔓延の原因でもあります。

  • メール受信プロセスの概要

    • クライアントはサーバーへの TCP 接続を確立します。
    • サーバーは、接続が確立されたことを確認するために ID 情報を送信します。
    • クライアントは USER コマンド + ユーザー名を送信し、サーバーは受信を確認します。
    • クライアントは PASS コマンドとユーザー パスワードを送信し、サーバーは受信を確認します。
    • クライアントが LIST コマンドを送信すると、サーバーは現在のメールボックス内の電子メールの数のリストを返します。
    • クライアントは RETR コマンドと電子メール番号を送信し、サーバーは対応する電子メールの内容を送り返します。
    • 電子メールを受信した後、クライアントは DELE コマンド + 電子メール番号を送信して、対応する電子メールをメールボックスから削除するようにサーバーに通知するかどうかを選択できます。

    上記のプロセスからわかるように、POP3 では、受信したメールをサーバーに保存するかどうかをクライアントが決定します。さらに、POP3 はクリア テキストを使用してユーザーの電子メール パスワードを送信するため、電子メールのセキュリティに隠れた危険が生じます。

6.5 WWW

6.5.1 WWWの概念と構造

WWWのコンセプト

WWW(Worid Wide Web、World Wide Web)は3Wと呼ばれ、特別なコンピュータネットワークではありません。World Wide Web は、大規模なオンライン情報リポジトリです。その特徴は、インターネット上のあるサイトからリンクを利用して別のサイトにアクセスすることができ、非常に便利であり、豊富な情報をオンデマンドで積極的に取得できることです。WWW では、ユーザーが情報を簡単に見つけられるようにするためのさまざまな検索エンジンも提供しています。

ここに画像の説明を挿入します

WWWの構造

WWW はさまざまな情報をページの形で組み合わせています。ページに含まれる情報は、テキスト、グラフィック、画像、音声、アニメーション、リンクなど、さまざまな形式です。このようなページはハイパーメディア (ハイパーメディア) とも呼ばれます。ページ内にテキストとリンクだけがある場合をハイパーテキストと呼びますが、その区別に注意してください。)、ページへのリンクはハイパーリンクと呼ばれます。

WWW では、Uniform Resource Locator (URL) を使用して、WWW 上のさまざまなドキュメントを識別します。URL の一般的な形式は次のとおりです。
<プロトコル>: //<ホスト>:<ポート番号>/<パス>

一般的なプロトコルには、HTTP、FTP などが含まれます。ホスト部分はドキュメントが保存されているコンピュータです。ドメイン名または IP アドレスが使用できます。ポート番号はサーバーがリッスンするポートです (ポート番号はプロトコルによって分かるため、通常は省略されます)。パスは通常省略でき、URL 内の文字は大文字になります。または小文字は必要ありません。

World Wide Web はクライアント/サーバー方式で動作します。ブラウザはユーザーのコンピュータ上の World Wide Web クライアント プログラムであり、World Wide Web ドキュメントが存在するコンピュータはサーバー プログラムを実行します。このコンピュータは World Wide Web サーバーと呼ばれます。クライアント プログラムはサーバー プログラムにリクエストを送信し、サーバー プログラムはクライアントからリクエストされたドキュメントをクライアント プログラムに送り返します。

作業過程:

  • Web ユーザーはブラウザ(指定された URL)を使用して Web サーバーに接続し、閲覧リクエストを送信します。
  • Web サーバーは URL をファイル パスに変換し、その情報を Web ブラウザーに返します。
  • 通信が完了し、接続が切断されます。

6.5.2 HTTP

HTTP操作プロセス

ハイパーテキスト転送プロトコル (HTTP) は、クライアント プログラム (ブラウザなど) と WWW サーバー プログラム間の対話に使用されるプロトコルです。HTTP はトランザクション指向のアプリケーション層プロトコルです。信頼性の高い送信のために TCP 接続を使用します。サーバーはデフォルトでポート 80 で待機します。

プロトコル実行プロセスの観点から見ると、ブラウザが WWW サーバーにアクセスしたいとき、まず、WWWサーバーのドメイン名解決を完了する必要があります。サーバーの IP アドレスを取得すると、ブラウザは TCP 経由でサーバーに接続確立要求を送信します。各サーバーにはサービス プロセスがあり、常に TCP ポート 80 をリッスンします。接続リクエストをリッスンすると、ブラウザとの接続を確立します。TCP接続が確立された後、ブラウザはサーバーに HTTP リクエストを送信して、特定の Web ページを取得します。サーバーは HTTP リクエストを受信すると、リクエストされた Web ページに必要な情報を構築し、HTTP 応答を通じてブラウザに返します。次に、ブラウザはその情報を解釈し、Web ページをユーザーに表示します。最後に、TCP 接続が解放されます。

ここに画像の説明を挿入します

HTTPメッセージの構造(理解)

  • リクエスト メッセージ - クライアントからサーバーにリクエスト メッセージを送信します。
  • 応答メッセージ - サーバーからクライアントへの応答。

ここに画像の説明を挿入します

ここに画像の説明を挿入します

2 つのメッセージ形式の違いは、スタートラインが異なることです。

  • 開始行:要求メッセージか応答メッセージかを区別するために使用されますリクエストメッセージの開始行をリクエストライン、レスポンスメッセージの開始行をステータスラインと呼びます。行の先頭にある 3 つのフィールドはスペースで区切られています。
  • ヘッダー行: ブラウザー、サーバー、またはメッセージ本文に関する情報を記述するために使用されます。
  • エンティティ本文: このフィールドは通常、要求メッセージでは使用されず、一部の応答メッセージではこのフィールドが見つからない場合があります。

HTTP は非永続接続と永続接続の両方を使用して機能します

おすすめ

転載: blog.csdn.net/pipihan21/article/details/129572622