getリクエストとpostリクエストの違い(簡潔でわかりやすい)

1. GET と POST とは何ですか?

HTTP プロトコルでリクエストを送信する 2 つの方法は、基本的に TCP 接続を確立することです。

2. GET リクエストと POST リクエストの違いは何ですか?

GET リクエスト パラメータは URL を通じて渡され、POST リクエスト パラメータはリクエスト本文に含まれます。

GET リクエストは、パラメータが URL 内で直接公開されるため、POST リクエストよりも安全性が低く、機密情報を渡すために GET リクエストを使用することはできません。

GET リクエストの URL で渡されるパラメータには長さの制限があります (HTTP プロトコルでは URL の長さに制限はありません。制限は特定のブラウザとサーバーによって課される制限です。ブラウザごとに長さの制限は異なります)。 )、POST には長さの制限がありません。

GET リクエスト パラメータはブラウザの履歴に完全に保持されますが、POST リクエスト パラメータは保持されません。

GET リクエストは URL エンコード (パーセント エンコード) され、POST リクエストは複数のエンコード方法をサポートします。

GET リクエストで生成された URL アドレスはブックマーク (ブックマーク) できますが、POST リクエストではできません。

GET リクエストはブラウザがロールバックしても無害であり、POST リクエストはデータを再度送信します。

GET リクエストはブラウザにアクティブにキャッシュできますが、POST リクエストは手動で設定できず、手動で設定できます。

3.さらに深く進む

1. GET と POST には大きな違いがあります。

一般的に言えば

GET は TCP パケットを生成します。

POST は 2 つの TCP パケットを生成します。

言うのは複雑

GET リクエストの場合、ブラウザは http ヘッダーとデータを一緒に送信し、サーバーはリクエストが成功したことを示す 200 で応答します。

POST リクエストの場合、ブラウザは最初にヘッダーを送信し、サーバーは 100 で応答し (リクエストの最初の部分が受信され、残りは待機中です)、ブラウザはデータを再度送信し、サーバーは 200 を返し、リクエストは成功。

2. POST リクエストには 2 つのステップが必要なので、GET リクエストよりも時間がかかりますか? しません。

GET リクエストと POST リクエストには独自のセマンティクスがあるため、簡単に混合することはできません。

ネットワーク環境が良好な場合、1 つのパケットを送信する時間と 2 つのパケットを送信する時間の差は無視できますが、ネットワーク環境が悪い場合、TCP が 2 つのパケットを送信することは、データの整合性を検証する上で大きな利点があります。 。

すべてのブラウザが POST リクエストでパケットを 2 回送信するわけではありません。例: Firefox。

 1. HTTP には POST と GET の 2 つのコマンド モードしかありません;
2. POST は上向きに情報を送信するように設計されており、GET はサーバーから情報を取得するように設計されています。GET はサーバーに送信するデータも少なくて済みます。データの送信もサーバーにどのようなデータが必要かを伝えるだけです. POST の情報は HTTP リクエストの内容として使用され、GET は HTTP ヘッダーで送信されます; 3. POST と GET は HTTP の送信方法
ですGET のパラメータは HTTP ヘッダーで送信されますが、Post のデータは HTTP リクエストのコンテンツで送信されます 4. POST がデータを送信する場合、
URL にデータを表示する必要はありませんが、GET はデータを送信しますURL に表示;
5. URL の長さの制限により、GET メソッドは約 1024 バイトしか転送できません; POST で送信されるデータ量は多く、2M に達する可能性があります。


GET メソッドは、公開できる一部のパラメータ情報を送信するために使用でき、Baidu の検索キーワードなどの解析に便利です。一方、POST メソッドは、ユーザーの機密情報を送信するために使用できます (HTTPS 暗号化が使用されていない場合)。 、メッセージ本文はプレーンテキストのままであり、他の人が簡単に傍受して読むことができます。

メソッド 説明
GET は、指定されたページ コンテンツをリクエストし、エンティティ本体の
HEAD を返します。返される応答に特定のコンテンツがない点を除けば、GET リクエストと似ています。ヘッダーを取得するために使用されます。POST は、指定されたリソースにデータを送信します
。リクエストの処理 (フォームの送信やファイルのアップロードなど)。データはリクエストボディに含まれます。POST リクエストにより、新しいリソースが作成されたり、既存のリソースが変更されたりする場合があります。
PUT クライアントからサーバーに送信されたデータは、指定されたドキュメントの内容を置き換えます
DELETE サーバーに指定されたページの削除を要求します
CONNECT 接続方法をパイプラインに変更できるプロキシ サーバー用に HTTP1.1 プロトコルで予約されます
OPTIONS クライアントを許可しますサーバーのパフォーマンスを表示するための
TRACE は、サーバーが受信したリクエストをエコーし​​ます。これは主に
HTTP の動作原理をテストまたは診断するために使用されます。HTTP
プロトコルは、Web クライアントが Web サーバーから Web ページをリクエストする方法と、Web ページを Web サーバーにリクエストする方法を定義します。サーバーは Web ページをクライアントに送信します。HTTP プロトコルは要求/応答モデルを使用します。クライアントは、リクエスト行(リクエストメソッド、URL、プロトコルバージョン)、リクエストヘッダ、空行、リクエストデータを含むリクエストメッセージをサーバに送信します。サーバーは、ステータス行 (プロトコル バージョン、成功またはエラー コード、サーバー情報)、応答ヘッダー、空白行、および応答データを含むステータス行で応答します。

HTTP リクエスト/レスポンスの手順: クライアントが Web サーバーに接続 -> HTTP リクエストを送信 (リクエスト メッセージは、リクエスト行、リクエスト ヘッダー、空行、リクエスト データの 4 つの部分で構成されます) -> サーバーはリクエストを受け入れ、 HTTP 応答 (応答はステータス行、応答ヘッダー、空行、応答データの 4 つの部分で構成されます) —> TCP 接続を解放します —> クライアントのブラウザーが HTML コンテンツを解析します
 

おすすめ

転載: blog.csdn.net/weixin_62765236/article/details/126502705