1

GET 要求は URL エンコードする必要があるため、POST は GET よりコンパクトですか?

4

6 に答える 6

5

どちらも目的がまったく違うので、そのように比較することはしません。GETデータ検索用であり、それ以外の副作用はありません。またPOST、データを取得するのではなく、送信するためのものです。

于 2009-09-29T18:42:10.803 に答える
4

POSTもそうです。それらは同様にコンパクトです。それはデータがどこに行くかという問題です。POSTの場合、リクエストの本文に入ります。GETの場合—URL自体に。さらに、multpart/form-dataエンコーディングの場合(ファイルのアップロードに必要ですが、この場合はGETリクエストはオプションではありません)、POSTはより冗長になります。

于 2009-09-29T18:42:17.447 に答える
2

いいえ、POSTリクエストは引き続きhttpクエリに入れる必要があります。URLの一部として表示されないだけです。

IEはここにgetクエリがあります

  GET <url with params>

対投稿クエリ

  POST <url>
  ...
  <params>
于 2009-09-29T18:42:48.477 に答える
2

POST は GET よりも 1 文字多いため、コンパクトではありません。

コンパクトさが非常に重要で、HTTP セマンティクスを気にしない場合は、代わりにバイナリ プロトコルを使用してください。POST と GET のセマンティクスは異なり、HTTP はコンパクトさのために最適化されていません。

于 2009-09-29T18:47:57.107 に答える
2

get と post の使いやすさに関する次の情報を確認することをお勧めします。 http://www.w3.org/2001/tag/doc/whenToUseGet.html

要約すると:

次の場合に GET を使用します。

インタラクションは質問に似ています。たとえば、ルックアップ、読み取り専用操作などです。

次の場合は POST を使用します。

インタラクションは命令に似ており、リソースの状態を変更します。そうしないと、ユーザーがインタラクションの結果に対して責任を負うことになります。

これは、リクエストのサイズを考慮していないことに注意してください。さらに考えてみると、検索エンジンがクロールしたリンクに対して GET 要求を実行するだけでデータベースの問題を引き起こしたインターネットの黎明期を考えてみてください。これは、一部のプログラマーが GET 要求を使用してリソースの状態を変更したためです (レコードの削除、テーブルの削除など)。

于 2009-09-29T18:49:02.927 に答える
1

簡単なメモ: Yahoo YUI チームと YSlow によると、XMLHttpRequest オブジェクト (AJAX) を使用する場合、POST はほとんどの場合 2 つのパケットを使用しますが、GET は 1 つを使用します (コンテンツの長さが許す限り)。

これは、GET を使用すると、AJAX リクエストが「よりコンパクト」になることを意味します。

ソース:

http://developer.yahoo.com/performance/rules.html#ajax_get

于 2009-09-29T19:09:15.957 に答える