ポストとgetの違いについて

まず、取得およびポストは、2つの方法の単なるHTTPプロトコル要求根本的に異なるものではなく、輸送上の同じトランスポートプロトコルで使用されているに違いはありません。

   

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 し1.Getポストメッセージの違い

    2つの方法の唯一のHTTPプロトコルのGETおよびPOST要求を、HTTPプロトコルがトランスポート層プロトコルに関係なく、GETまたはPOSTの、TCP / IPベースのアプリケーション層プロトコルでは同じであるので、送信は、違いはありません。

    パケットフォーマットは、パラメータなしで、最大の違いは、メソッド名の最初のラインであります

    POSTメソッド要求パケットは、最初の行のことです POST /uri HTTP/1.1 \r\n

    GETメソッド要求パケットが最初の行するようなものです GET /uri HTTP/1.1 \r\n

    引数タイムズの記事との違いは、GETメソッドのパラメータは、URLに配置する必要があり、POSTメソッドのパラメータは、体内に配置する必要がありますされます  

    メッセージの方法の簡単なバージョンを取得します:

 GET /index.php?name=xiaoming.c&age=3 HTTP/1.1 Host: localhost

     POSTメソッドメッセージの簡易版:

 POST /index.php HTTP/1.1  Host: localhost  Content-Type: application/x-www-form-urlencode
name=qiming.c&age=22

違い2. GETとPOSTメソッドのセキュリティ

       データがアドレスバーに表示されていないため、オンライン記事のほとんどを説明するためによると、POSTは、セキュリティをGETよりも、

       HTTPは、ネットワーク・ノード上のキャッチパケット限り、ネットワーク上で平文で送信されるためしかし、伝送の観点から、彼らは、安全ではない、あなたは完全なデータパケットを取得することができます。

       伝送を確保するために、暗号化のみがHTTPSです。

 

3. GETメソッドには限界がありますか1024キロバイトまで? 

     制限を提出していないためにGETメソッドのURLパラメータデータサイズ

      HTTPプロトコルは、ボディとURLの長さを制限しない、制限のURLは、主な理由のブラウザとサーバです。

      ブラウザメーカーが設定したため、サーバーが(悪意のある攻撃と長いURLを防ぐために)、パフォーマンスとセキュリティのために、より多くのリソースを消費することを検討して、URLの長さの制限を与え、長いURLを処理しているためで、ブラウザということです。

 

 

2つのパケットを生成する4. POSTメソッド?

     いくつかの上述の観点、ポストは別ヘッダとボディ、第一送信ヘッダが送信され、ステータスコードは、本体を送信サーバ100から返されました。

     HTTP 协议中没有明确说明 POST 会产生两个 TCP 数据包,而且实际测试(Chrome)发现,header 和 body 不会分开发送。

     所以,header 和 body 分开发送是部分浏览器或框架的请求方法,不属于 post 必然行为。

 

      

 

5. “get常用于获取数据,post用于提交数据”

    虽然get的确常被用于获取数据,但post也可以在一些UI框架被用于取回数据    

    get和post用途也是因地制宜,要根据实际情况来决定用哪个方法。

 

 

  

  





 

おすすめ

転載: www.cnblogs.com/mhcll/p/11391522.html