JavaWeb の概要 (1)
Web アプリケーションのクライアント インターフェイスの設計について学ぶとき、基本的な Web アプリケーションには Web サーバー、Web クライアント ブラウザ、HTTP プロトコル、および静的 HTML ファイルが必要であることはすでにわかっています。
Web サーバー: クライアントのリクエストを受信し、結果をクライアントに返します。
ブラウザ: ユーザーがサーバー上のリソースをリクエストできるようにし、リクエストの結果をユーザーに表示します。ブラウザがユーザーにコンテンツを表示する方法。
HTTP: Web 上のクライアントとサーバー間の通信に使用されるプロトコル。コンピューターがネットワーク上で通信するための一連のメソッドです。 。 TCP/IP アーキテクチャでは、HTTP はアプリケーション層プロトコルであり、TCP/IP プロトコルの最上位層に位置します。 HTTP はステートレス プロトコルです (Web ブラウザ [クライアント] と Web サーバーの間に永続的なリンクは必要ありません)。全体のプロセスは、クライアントがサーバーにリクエスト (Request) を送信し、WEB サーバーが応答 (Response) を返します。その後、リンクは閉じられました。 HTTP はリクエスト/レスポンス (リクエスト/レスポンス) モデルに従い、すべての通信対話はリクエスト モデルとレスポンス モデルのセットで構造化されます。
HTTP で定義されるトランザクション処理は、次の 4 つのステップで構成されます。 クライアントは Web サーバーとのリンクを確立します。 サーバーはクライアントの HTTP リクエストを受信し、HTTP 応答ポストバックを生成します。クライアント Web サーバーとのリンクを確立します。
リクエスト情報を送信します。
TCP リンクが確立されると、Web ブラウザは Web サーバーにリクエスト コマンドを送信します。 HTTP プロトコルは、クライアントからのリクエスト情報を HTTP リクエストにカプセル化します。これには、リクエスト行、リクエスト ヘッダー、メッセージ本文、およびリクエスト ヘッダーとメッセージ本文を区切る空白行が含まれます。 ASCII テキスト行。要求された HTTP メソッド、要求された URL、HTTP バージョンの 3 つのタグ構成で構成されます。途中でスペースで区切ります
HTTP バージョン 1.1 では、8 つの可能な HTTP リクエストメソッドが定義されています
Ⅰ GET: サーバーからリソースを取得するため
Ⅱ POST: サーバーにデータを送信し、要求するため仕様 URL 処理;
Ⅴ DELETE: URL で指定されたリソースの削除をサーバーにリクエストします。
Ⅵ OPTIONS: サーバーによってサポートされているリクエストメソッドに関する情報をリクエストします。現在実装されており、トンネル処理用に予約されています。
これらのメソッドの中で、最も一般的に使用されるメソッドは GET と POST であり、他のメソッドは Web 開発者によってあまり使用されません。 メソッド はこのメソッドのリクエストですPOST
ブラウザのアドレスバーに URL を入力します
現在の Web ページの HTML リンクをクリックします。でHTML フォーム フォームにメソッド = 'GET' を設定するか、設定しないで (デフォルトは GET メソッドの送信です)、フォームを送信します。大量の情報やドキュメントのアップロード。アプリケーションがデータを変更または追加する必要があり、HTTP 経由でリクエストを送信する場合は、POST メソッドを使用する必要があります。
リクエスト ヘッダー:
HTTP プロトコルは、HTTP ヘッダーを使用してリクエストのメタ情報を送信します。HTTP ヘッダーはコロンで区切られた名前と値のペアです。 HTTP ヘッダー、その後に HTTP 値が続きます。一般的なリクエスト ヘッダーは、ユーザー エージェント情報、許容可能な形式、言語、およびコンテンツ エンコーディングで構成されます。この情報は、クライアントが何であるか、クライアントが取得したいフィードバック情報の形式などをサーバーに伝えるために使用されます。
空白行:
キャリッジリターンとリターン文字を送信して、リクエストヘッダーがもうないことをサーバーに通知します。
メッセージ本文:
HTTP リクエストにクエリ文字列が含まれる場合、それが GET メソッドの場合、クエリ文字列またはフォーム データがリクエスト行に追加されます。 POSTメソッド、クエリ文字列、またはフォームデータがメッセージ本文に追加されます。
応答メッセージを送り返す
Web サーバーはリクエストを解析し、指定されたリソースを見つけて読み取ります。ファイルとその他の情報を HTTP 応答としてクライアントに返します。 HTTP 応答には、ステータス行、応答ヘッダー、メッセージ本文、およびメッセージ ヘッダーと応答ヘッダーを区切る空行が含まれます。
ステータス行:
すべての HTTP 応答はステータス行で始まります。ステータス行は、HTTP プロトコルのバージョン、応答ステータス コード、および応答の説明をスペースで区切って構成されます。
応答ステータス コードは 3 桁の数字で、次のグループに分類されます。
Ⅰ 100 ~ 199: 情報、要求を受信、処理を継続
Ⅱ 200 ~ 299: 成功、動作が正常に受け入れられました。 、理解と採用;
Ⅲ 300~399: リダイレクト、リクエストを完了するために実行する必要があるさらなるアクション
Ⅳ 400~499: クライアントエラー、リクエストに構文エラーが含まれているか、リクエストを実装できません。
Ⅴ 500~599: サーバーエラー。サーバーは明らかに無効なリクエストを実装できません。
各応答ステータスコードには、関連付けられた文字列応答の説明があります。
応答ヘッダー:
応答ヘッダーは、コロンで区切られた名前と値のペアでもあり、コロンの前に HTTP ヘッダーの名前が続き、その後に HTTP ヘッダーの値が続きます。ヘッダ。一般的な応答ヘッダーには、コンテンツの説明、コンテンツの長さ、タイムスタンプ、サーバー情報、およびコンテンツが最後に変更された時刻が含まれます。この情報は、クライアントが送信されたコンテンツ、コンテンツのサイズ、データが前の応答よりも新しいかどうかを取得するのに役立ちます。
応答ヘッダーの中で最も重要な HTTP ヘッダーは、MIME タイプを指定する Content-Type です。 MIME タイプは、受け入れたいデータのタイプをブラウザーに伝えるため、ブラウザーはデータを表示する方法を認識します。この値は通常、HTTP リクエスト ヘッダーの Accept に関連付けられます
空白行:
最後の応答ヘッダーの後には空白行が続き、キャリッジ リターンとバックトラックが送信され、これ以上従う応答ヘッダーがないことを示します。
メッセージ本文:
クライアントに送信するHTMLドキュメント、または表示するその他のコンテンツなど。 Web サーバーは、クライアントに送信された文書情報をメッセージ本文に組み込みます。
接続を閉じる
HTTP 応答がクライアントに到着すると、ブラウザはまず HTTP 応答内のステータス行を解析して、リクエストが成功したかどうかを示すステータス コードを確認します。次に、各応答ヘッダーを解析し、応答メッセージ本文を読み取り、メッセージ本文をブラウザー ページに表示します。
HTML ドキュメントには、ロードする必要がある他のリソースが含まれている場合があります。ブラウザはそれを認識し、応答ヘッダーで指定された形式に従ってすべてのデータが復元されるまで、このプロセスをループし続けることができます。ページ。データ送信が完了すると、サーバーはステートレス プロトコルである接続を閉じます。