GETとPOSTの違い:

GETとPOSTの違い

   1、GET请求的数据是放在HTTP包头中的,也就是URL之后,通常是像下面这样定义格式的:
  login.action?name=hyddd&password=idontknow&verify=%E4%BD%E5%A5%BD 

その中で、?を使用してURLとデータを分離し、&を使用してパラメータを分離します。データが英語または数字の場合はそのまま送信します。データが中国語またはその他の文字の場合は、BASE64エンコードを実行します。
そして、Postは送信されたデータをHTTPボディに入れます。
2. GETデータがURLに添付され、URLがさまざまな環境によって制限されるため、GETによって送信されるデータは最大1024Bと比較的小さくなります。たとえば、IEは2K + 35に制限しますが、POSTは送信できます。 more(理論的には制限はありませんが、通常、ブラウザ、オペレーティングシステム、サーバー処理機能など​​のさまざまな環境によって制限されます。IIS4は80KBをサポートでき、IIS5は100KBをサポートできます)。
3. PostのセキュリティはGetのセキュリティよりも高くなります。これは、Getの場合、パラメータデータがプレーンテキストで送信され、パラメータがURLで直接公開されるため、機密情報の送信に使用できないためです。さらに、GETを使用すると、クロスサイトリクエストフォージェリ攻撃が発生する可能性もあります。POSTデータは暗号化できますが、GETの速度が速い場合があります。
4. getリクエストはurlエンコードのみ可能で、postは複数のエンコード方法をサポートします。getリクエストはブラウザによってアクティブにキャッシュされますが、postは複数のエンコード方法をサポートします。getリクエストパラメータは閲覧履歴に完全に保持されます。パラメータは保持されません。
5. GETとPOSTは本質的にTCPリンクであり、違いはありません。ただし、HTTP規制とブラウザ/サーバーの制限により、アプリケーションプロセスにいくつかの違いがあります。
6.GETは1つのTCPデータパケットを生成します。POSTは2つのTCPデータパケットを生成します。GETリクエストの場合、ブラウザはhttpヘッダーとデータを一緒に送信し、サーバーは200(データを返す)で応答します。POSTの場合、ブラウザは最初にヘッダーを送信し、サーバーは100続行で応答し、ブラウザは送信します。データ、およびサーバーが応答します。200ok(データを返します)。

おすすめ

転載: blog.csdn.net/XRTONY/article/details/114780160