ホームページ >ウェブフロントエンド >htmlチュートリアル >HTTP リクエストのプロセスをもう一度理解する_html/css_WEB-ITnose
http プロトコルを何度も読みましたが、まだ理解が深くありません。 ここで、もう一度読んで理解してください。ヘッダー情報 rn を解析すること、および rnrn を使用してヘッダーとボディを分解することの 2 つのポイントをさらに深めてみましょう。 1 つのリクエストがネットワーク内に多数のリクエストを表示する理由は、ブラウザが複数回アクセスしているためです。プログラムを処理する必要があるのは 1 回だけです。
ステップ 1: ブラウザは最初に HTTP リクエストをサーバーに送信します。
メソッド: GET または POST、GET はリソースのみをリクエストします。POST にはユーザー データが伴います。 html/path;
ドメイン名: Host ヘッダーで指定: Host: www.sina.com.cn
POST の場合、リクエストにはユーザー データを含む本文も含まれます。
ステップ 2: サーバーはブラウザに HTTP 応答を返します:
応答コード: 200 は成功を意味し、3xx はリダイレクトを意味し、4xx はクライアントによって送信されたリクエストにエラーがあることを意味し、5xx はエラーを意味します。サーバー側の処理中にエラーが発生しました。
応答タイプ: Content-Type およびその他の関連ヘッダーで指定されます。通常、サーバーの HTTP 応答にはコンテンツが含まれます。レスポンスが返され、Web ページの HTML ソース コードが Body に含まれます。
ステップ 3: ブラウザーが画像などの他のリソースをサーバーに要求し続ける必要がある場合は、別の HTTP 要求を作成し、ステップ 1 と 2 を繰り返します。
Web で採用されている HTTP プロトコルは、非常にシンプルなリクエスト/レスポンス モデルを採用しており、開発が大幅に簡素化されています。ページを作成するときは、HTTP リクエストで HTML を送信するだけでよく、写真やビデオなどを添付する方法を考慮する必要はありません。ブラウザは写真やビデオをリクエストする必要がある場合、別の HTTP リクエストを送信します。したがって、HTTP リクエストは 1 つのリソースのみを処理します。
HTTP プロトコルは拡張性も優れています。ブラウザは http://www.sina.com.cn/ のホームページをリクエストしますが、Sina は これにより、リクエストの圧力がさまざまなサーバーに分散され、1 つのサイトが他のサイトにリンクでき、無数のサイトが相互にアクセスできるようになります。相互にリンクすると、それらのサイトは相互にアクセスできるようになります。 World Wide Web (略して WWW) を形成します。
HTTP 形式
すべての HTTP リクエストとレスポンスは同じ形式に従います。ヘッダーとボディの 2 つの部分が含まれます。そのうちボディはオプションです。
HTTP プロトコルはテキスト プロトコルであるため、その形式も非常にシンプルです。 HTTP GET リクエストの形式:
GET /path HTTP/1.1Header1: Value1Header2: Value2
HTTP POST リクエスト形式:
POST /path HTTP/1.1Header1: Value1Header2: Value2body data goes here...
2 つの連続した rns に遭遇すると、ヘッダー部分が終了し、後続のデータはすべてボディになります。
HTTP 応答形式:
200 OKHeader1: Value1Header2: Value2<br />body data goes here...
HTTP 応答に本文が含まれる場合は、本文も rnrn で区切られます。ボディのデータ型は Content-Type ヘッダーによって決定されることに注意してください。Web ページの場合、ボディは画像のバイナリ データです。
Content-Encoding が存在する場合、最も一般的な圧縮方法は gzip です。そのため、Content-Encoding: gzip が表示された場合は、実際のデータを取得するために最初に Body データを解凍する必要があります。圧縮の目的は、ボディのサイズを削減し、ネットワーク伝送を高速化することです。