アプリケーション層
Web アプリケーション モデル
クライアント/サーバーモデル
クライアント/サーバー (クライアント/サーバー、CS)モデルでは、サーバーと呼ばれる常時接続のホストがあり、クライアントと呼ばれる他のホストからの多くのリクエストを処理します。そのワークフローは次のとおりです。
サーバーはリクエストを受け付けている状態です
クライアントはサービス要求を行い、結果の受信を待ちます。
リクエストを受信したサーバーはリクエストを分析し、必要な処理を実行し、結果を取得してクライアントに送信します。
クライアント/サーバー モデルの主な特徴は、クライアントがサービス要求者であり、サーバーがサービス プロバイダーであることです。
P2Pモデル
CSモデルではサーバーの性能がシステム全体の性能を決定するため、多数のユーザーがサービスを要求すると、必然的にサーバーがシステムのボトルネックとなります。P2Pモデルの考え方は、ネットワーク全体の伝送コンテンツが中央サーバーに保存されなくなり、各ノードが同時にダウンロードとアップロードの機能を持ち、その権利と義務がほぼ同等になるというものです。
ドメインネームシステム[DNS]
階層型名前空間
インターネットでは階層ツリー構造の命名方法が採用されています。この命名方法を使用すると、インターネットに接続されているホストまたはルーターには、一意の階層構造の名前、つまりドメイン名が付けられます。ドメインは名前空間の管理可能な部分です
ドメイン名のラベルについては、次の点に注意する必要があります。
ラベル内の英語は大文字と小文字が区別されません
ハイフン(-)以外の句読点はラベルに使用できません
各ラベルは 63 文字を超えてはならず、複数のラベルで構成される完全なドメイン名の最大長は 255 文字を超えてはなりません。
最も低いレベルのドメイン名が一番左に書かれ、最も高いレベルのトップレベルのドメイン名が一番右に書かれます。
ドメインネームサーバー
インターネットのドメイン ネーム システムは、オンライン分散データベース システムとして設計されており、クライアント/サーバー モデルを採用しています。ドメイン名の P アドレスへの解決は、ドメイン ネーム サーバー上で実行されるプログラムによって完了します。
ドメイン名解決プロセス
ドメイン名解決とは、ドメイン名を IP アドレスにマッピングするプロセス、またはIP アドレスをドメイン名にマッピングするプロセス を指します。前者を順方向分析、後者を逆方向分析といいます。クライアントがドメイン名解決を必要とする場合、ローカル DNS クライアントを通じて DNS 要求メッセージを作成し、それをUDP データグラムの形式でローカル ドメイン ネーム サーバーに送信します。
ドメイン名解決には、再帰クエリと再帰と反復を組み合わせたクエリ の 2 つの方法があります。
ファイル転送プロトコル[FTP]
動作原理
ファイル転送プロトコルは、インターネット上で最も広く使用されているファイル転送プロトコルです。FTP は対話型アクセスを提供し、顧客がファイルのタイプと形式を指定できるようにし、ファイルにアクセス権を与えることができます。
FTPはクライアント/サーバーの動作方式を採用しています
FTP はクライアント/サーバーの動作方式を採用しており、信頼性の高いTCP伝送サービスを使用します。FTP サーバー プロセスは、複数のクライアント プロセスに同時にサービスを提供できます。FTP のサーバー プロセスは、新しいリクエストの受信を担当するメイン プロセスと、個々のリクエストの処理を担当するいくつかのスレーブ プロセスの 2 つの部分で構成されます。
その作業手順は次のとおりです
クライアント プロセスが接続できるように、ウェルノウン ポート 21 (制御ポート) を開きます。
クライアント プロセスが接続リクエストを送信するのを待ち、
スレーブ プロセスを起動してクライアント プロセスから送信されたリクエストを処理します。マスタープロセスとスレーブプロセスは並行して実行され、スレーブプロセスはクライアントプロセスのリクエストを処理した後に終了します。
待機状態に戻り、引き続き他のクライアントプロセスからのリクエストを受信します。
2 つの並列 TCP 接続を使用する
制御接続とデータ接続
FTP は、動作時に 2 つの並列 TCP 接続を使用します。1 つは制御接続(ポート番号 21)、もう 1 つはデータ接続(ポート番号 20)です。
制御接続: 制御接続は、制御情報 (接続要求、転送要求など) を送信するために使用され、セッション全体(ポート 21)の間開いたままになります。
データ接続: 2 つの送信モードがあり、アクティブ モードは「サーバー」が「クライアント」に接続するポートでデータを送信し、パッシブ モードは「クライアント」が「サーバー」に接続するポート (ポート 20) でデータを送信します。
Eメール
メールシステムの仕組み
電子メール システムには、ユーザー エージェント、メール サーバー、電子メールで使用されるプロトコルという 3 つの主要コンポーネントが必要です。
メール送信プロトコルと読み取りプロトコル:メール送信プロトコルは、SMTP などのメール サーバー間でメールを送信するためにユーザー エージェントによって使用されます。メール読み取りプロトコルは、POP3 などのメール サーバーからメールを読み取るためにユーザー エージェントによって使用されます。
SMTPは「プッシュ」通信方式を使用し、POP3は「プル」通信方式を使用します
MIME (多目的インターネットメール拡張子)
SMTP は一定の長さの ASCII コードのみを送信できるため、英語以外の多くの文字 (中国語、ロシア語、アクセント記号付きのフランス語やドイツ語など) は送信できません。また、実行可能ファイルやその他のバイナリ オブジェクトも送信できません。
SMTP
SMTP は、ポート番号25の TCP 接続を使用します。SMTP 通信には、次の 3 つの接続確立段階があります。送信者のメールが送信者のメール サーバーのメール キャッシュに送信された後、SMTP クライアントは定期的にメール キャッシュをスキャンします。メールが見つかった場合は、TCP 接続を確立します
メール送信:接続が確立された後、メールを送信できます。メールの送信は MAIL コマンドから開始され、MAIL コマンドの後に送信者アドレスが存在します
接続の解放: メール送信後、SMTP クライアントは QUIT コマンドを送信する必要があります。SMTP サーバーから返された情報は 221 (サービス終了) で、SMTP が TCP 接続の解放に同意したことを示します。
ポップ3
POP もクライアント/サーバーの動作方式を使用し、トランスポート層で TCP を使用し、ポート番号は110です。
POP は次の 2 つの方法で動作します。
「ダウンロードして保存」と「ダウンロードして削除」
ワールドワイドウェブ[WWW]
コンセプト
World Wide Web (World Wide Web、www) は、分散型のオンライン情報ストレージ スペースです。このスペースでは、同じ有用なものが「リソース」と呼ばれ、グローバルな「Uniform Resource Locator」(URL) によって識別されます。これらのリソースはハイパーテキスト転送プロトコル (HTTP) 経由でユーザーに送信され、後者はリンクをクリックしてリソースを取得します。
World Wide Web の中核部分は、次の 3 つの標準で構成されています。
ユニフォーム リソース ロケーター (URL)。World Wide Web 上のさまざまなドキュメントを識別し、World Wide Web 全体の範囲内で各ドキュメントに一意の識別子 URL を持たせる役割を果たします。
ハイパーテキスト転送プロトコル (HTTP)。HTTP は、信頼性の高い伝送のために TCP 接続を使用するアプリケーション層プロトコルであり、World Wide Web クライアント プログラムとサーバー プログラムの間の対話に厳密に従う必要があるプロトコルです。
ハイパーテキスト マークアップ言語 (HTML)。ドキュメント構造のためのマークアップ言語。いくつかの合意されたタグを使用して、ページ上のさまざまな情報 (テキスト、サウンド、画像、ビデオなど) と形式を記述します。
作業過程:
Web ユーザーはブラウザ(指定された URL)を使用して Web サーバーとの接続を確立し、閲覧リクエストを送信します。Web サーバーは URL をファイル パスに変換し、その情報を Web ブラウザに返します。通信が完了し、接続が切断されます。
構成
HTTP
ハイパーテキスト転送プロトコル (HTTP) HTTP 操作プロセス
ユーザーがマウスをクリックした後に発生するイベントのシーケンスは次のとおりです。
- ブラウザはリンク先のページの URL を分析します。
- ブラウザが DNS に IP アドレスの解決を要求する
- ドメイン ネーム システム DNS は Web サイト サーバーの IP アドレスを解決します。
- ブラウザはサーバーとの TCP 接続を確立します
- ブラウザがHTTPリクエストを行う
- サーバーは HTTP 応答を介してファイルをブラウザに送信します。
- TCP接続を解放する
HTTPの特徴
HTTP は、信頼性の高いデータ送信を保証するために、トランスポート層プロトコルとして TCP を使用します。HTTP では、送信中にデータが破棄された後にデータがどのように再送信されるかを考慮する必要がありません。
HTTP はステートレスです。つまり、同じクライアントが同じサーバー上のページに 2 回目にアクセスすると、サーバーの応答は最初にアクセスしたときと同じになります。
HTTP では、非永続接続と永続接続の両方を使用できます。
非永続接続の場合、各 Web 要素オブジェクト (JPEG グラフィックス、Flash など) の送信には、個別の TCP 接続を確立する必要があります。
永続的な接続とは、World Wide Web サーバーが応答を送信した後もこの接続を維持し、同じクライアント (ブラウザ) とサーバーがこの接続上で後続の HTTP 要求と応答メッセージを送信し続けることができることを意味します。
一般的なアプリケーション層プロトコルの概要
https://www.bilibili.com/video/BV1Ha411r745?p=6&spm_id_from=pageDriver