httpネットワークトランスポートプロトコル

目次

1.httpとは何ですか?

次に、http プロトコルの主な内容

2.1. スリーウェイハンドシェイク

2.2. 4回手を振る

2.3. リクエストメッセージ

4. 応答メッセージ

2.5、httpステータスコード


添付: この記事は、http プロトコルの主な内容と使用法を簡単に理解したものです。

興味のある友人は、この Web サイト https://www.runoob.com/http/http-status-codes.html (http チュートリアルの URL) にアクセスして、http プロトコルの学習について詳しく学ぶことができます。

1.httpとは何ですか?

HTTP: HyperText Transfer Protocol ハイパーテキスト転送プロトコルは、インターネット上で最も広く使用されている有線ネットワーク転送プロトコルの 1 つで、コンテンツを転送するときにクライアントとサーバーが従うルール仕様です。

http プロトコルは非常に複雑なコンピュータ プログラムです。http プロトコルのソース コードを意図的に学習する必要はありません。ajaxテクノロジの実装原理を理解するには、http プロトコルの主な内容と使用法を学習するだけで十分です。

次に、http プロトコルの主な内容

 3 ウェイ ハンドシェイク、4 ウェイ ウェーブ、リクエスト メッセージ、レスポンス メッセージ、http プロトコル ステータス コード

2.1. スリーウェイハンドシェイク

3 ウェイ ハンドシェイクは http プロトコルの一部であり、TCOP/IP プロトコルを通じて完了し、クライアントとサーバーが正式にリンクを確立する前にプログラム コンテンツが実行されます。

クライアントとサーバーの両方が正しく動作することを確認するには

クライアントが決定する必要があります

            クライアントはリクエストを正常に送受信できる

            サーバーはリクエストを正常に送受信できる

 サーバーは判断する必要があります

            クライアントはリクエストを正常に送受信できる

            サーバーはリクエストを正常に送受信できる

3ウェイハンドシェイクの手順

1. クライアントがサーバーにリクエストを送信します。

      クライアントが判断できる

             クライアントは正常にリクエストを送信できます

      サーバーが判断できるのは、

             クライアントは正常にリクエストを送信できます

             サーバーはリクエストを正常に受信できます

2. サーバーがクライアントにリクエストを送信します。

      サーバーが判断できるのは、

             サーバーはリクエストを正常に送信できます

      クライアントが判断できる

             クライアントはリクエストを正常に受信できます

             サーバーはリクエストを正常に送信できます

             サーバーはリクエストを正常に受信できます

3. クライアントはサーバーにリクエストを送信します。

      サーバーが判断できるのは、

             クライアントはリクエストを正常に受信できます        

2.2. 4回手を振る

4 つの手を振ることは、クライアントとサーバーが正式に切断される前に http プロトコル プログラムを実行することにより、TCP/IP プロトコルを通じて実装されます。

クライアントとサーバーが適切に切断されていることを確認するため

4 つの波の段階的なプロセス

1. クライアントがサーバーにリクエストを送信します。

      クライアントはサーバーに、クライアントが切断しようとしていることを伝えます。

2. サーバーがクライアントにリクエストを送信します。

      サーバーは、クライアントが切断されようとしていることをサーバーが認識していることをクライアントに伝えます。

      サーバーがまもなくシャットダウンされます

      クライアントが切断操作を終了したい場合、クライアントは直ちにサーバーに切断終了要求を返しますが、サーバーがクライアントからの切断終了要求を受信しない場合、サーバーは引き続き第 3 ウェーブを実行します。

3. サーバーはクライアントにリクエストを送信します。

      サーバーはクライアントに、サーバーが正式にシャットダウンされ、リクエストは送信されなくなりますが、サーバーは引き続きリクエストを受信できることを伝えます。

4. クライアントはサーバーにリクエストを送信します。

      クライアントは、サーバーが閉じられていること、クライアントが閉じられてリクエストを受信しなくなったことをクライアントが認識していることをサーバーに伝えますが、クライアントはリクエストの送信を続けることができます。

最終状態

      クライアントは閉じられており、リクエストを受信できなくなりましたが、リクエストを送信することはできます。

      サーバーは閉じられており、リクエストを送信できなくなりましたが、リクエストを受信することはできます。

2.3. リクエストメッセージ

リクエスト メッセージは、クライアントがパラメータ データを運ぶリクエストをサーバーに送信するときに実行される http プロトコル プログラムです。

リクエストメッセージの内容: リクエスト行、リクエストヘッダー、リクエスト空行、リクエスト本文、ブラウザでは、これら 4 つの部分のメインコンテンツが表示されます。

1.リクエストライン

       POST /demo/demo.php HTTP/1.1

       POSTリクエストメソッド

       /demo/demo.php リクエストアドレス

       HTTP/1.1 リクエスト プロトコルとプロトコル バージョン

2. リクエストヘッダー

       ホスト: 127.0.0.1 リクエストアドレス/ドメイン名

       発信元: http://127.0.0.1 リクエスト プロトコルとアドレス/ドメイン名

       リファラー: http://127.0.0.1/demo/demo.html 完全なリクエストアドレス

       ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/97.0.4692.71 Safari/537.36 ブラウザのバージョン情報

       受け入れる: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3; q=0.9 予想されるバックエンド プログラム応答ファイル形式

       Content-Type: application/x-www-form-urlencoded 投稿メソッドにはリクエスト ヘッダー形式の設定があります

3. 空行をリクエストする

        これは、http リクエスト メッセージのソース コード内の空行であり、リクエスト ヘッダーとリクエスト本文のコードを区別するために使用されます。http リクエスト メッセージのソース コード内にのみ存在し、ブラウザには表示されません。

4. リクエストボディ

         post メソッドのみがパラメータ データを運ぶために使用されるリクエスト本文を持ち、get メソッドにはリクエスト本文がなく、パラメータはブラウザのアドレス バーを通じて渡されます。

         ただし、ブラウザーの get メソッドではリクエスト本文も表示されます。

2.4. 応答メッセージ

応答メッセージは、サーバーがクライアントにデータを応答するときにサーバーによって実行される http プロトコル プログラムです。

応答メッセージの構成: 応答行、応答ヘッダー、応答本文

1. 応答ライン

      HTTP/1.1 200 OK

      HTTP/1.1 リクエスト プロトコルとプロトコル バージョン

      200 http ステータス コード

      OK http 移行の説明

2. レスポンスヘッダー

      サーバー: nginx/1.15.11 サーバー ソフトウェアとバージョン

      日付: 2022 年 2 月 8 日火曜日 08:08:26 GMT サーバー時間 UTC

      Content-Type: text/html; charset=UTF-8 サーバー応答本文の形式とエンコーディング

      X-Powered-By: PHP/7.3.4 バックエンドとバージョン

3. レスポンスボディ

      {"名前":"\u5f20\u4e09"、"年齢":18、"性別":"\u7537"}

      バックエンドプログラムが出力する内容がレスポンスボディの内容となります。

2.5、httpステータスコード

いわゆる http ステータス コードは、数値を使用して http リクエストのステータスを表します。

100~199

        クライアントとサーバーが接続を確立する

        次の操作を待っています

200~299

        リクエストが終了し、リクエストが成功する

300~399

        リダイレクトリクエスト

        A から B に直接移動する必要があります。A から B に直接移動するのではなく、最初に A から C に、次に C から B に移動する必要があります (リダイレクト要求と呼ばれます)。

400~499

        リクエストの実行に失敗しました。エラーの理由はクライアント

500~599

        リクエストの実行に失敗しました。エラーの理由はサーバーです。

おすすめ

転載: blog.csdn.net/weixin_58448088/article/details/122828469