Http PostメソッドとGetメソッドの違い

1.さまざまな使用シナリオ

リソースのクエリ、変更、追加、削除にそれぞれ対応するget、post、put、delete、および他のメソッドの意味:
OPTIONSは、サーバーでサポートされているHTTPメソッドを返します。
CONNECTは、要求された接続を透過的なTCP / IPチャネルに変換します。
HEADはGETと同じですが、ドキュメントの本文ではなく、HTTPヘッダーのみを返します。

2.べき等は同じではありません。

べき等は数学的概念であり、べき等の各操作の結果は同じです。
getはべき等であり、リソースは変更されていません。
ポストは変更操作に対応するため、ポストはべき等ではありません。
それに応じて:

3. Getはキャッシュして保存でき、巻き戻し/更新は効果がなく、投稿はできません。

4.パラメーターの長さ、コード、およびデータ型が異なります。

getパラメータはURLに配置されるため、ブラウザは効率のためにURLを2kに制限しますが、投稿は明らかに制限です。
get:エンコードタイプapplication / x-www-form-urlencoded
post:application / x-www-form-urlencodedまたはmultipart / form-data。バイナリデータには複数のエンコーディングを使用します。
get:ASCII文字のみが許可されます。
投稿:制限なし。バイナリデータも許可されます。

5. getとpostのパラメーターの可視性とセキュリティは異なります。

getパラメータがURLに配置され、履歴レコードが表示されるため、安全ではありません。
実際、投稿も安全ではなく、パケットをキャプチャすることで取得できます。
安全なプロトコルはhttpsです。

6. GETは1つのTCPデータパケットを生成し、POSTは2つのTCPデータパケットを生成します。

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

POSTの場合、ブラウザーは最初にヘッダーを送信し、サーバーは100 continueで応答し、ブラウザーはデータを送信し、サーバーは200 okで応答してデータを返します。

おすすめ

転載: blog.csdn.net/u010321471/article/details/108479860