2

使用時にhttpリクエストのボディ部分で送信されたデータをURLエンコードする実際の必要性を誰かが私に説明できますか

      content-type: application/x-www-form-urlencoded

ありがとう

4

2 に答える 2

1

「必要」とは「目的」という意味ですか?

紫を求めている場合は、サーバーに何を期待するかを伝えるだけです: URL エンコードされたキー = 値のペア。また、サーバーは、マルチパート/フォームデータなど、何が来ていないかを知ることができます! これにより、サーバーは着信データの読み取り方法を明確に知ることができます。

データは 1 つのヘッダーとして送信されます (これが、サイズ制限がある理由でもあります)。そのため、改行、コロンなどは絶対に避けてください。これに加えて、データ内の = をエスケープして、key=value 構造を台無しにしないようにする必要があります。同じ理由で & もエスケープしたいとします。URL エンコーディングはそれをすべて行います。したがって、HTTP プロトコルを設計した人が誰であれ、それを採用したのは理にかなっています。

于 2012-11-17T23:04:48.700 に答える
0

POST 要求でサーバーにデータを送信する方法は複数あります。URL エンコードされたデータは、いくつかの可能な形式の 1 つにすぎません。

クライアントとサーバーは、POST 本文のデータの形式について合意する必要があります。URL フォームでエンコードされたデータは、ユニバーサルにサポートされているため、最も簡単に使用できます。ブラウザはネイティブでサポートしています。すべてのプログラミング言語では、使い慣れた構文を使用して URL エンコードされた投稿パラメーターを読み取ることができます。

もちろん、URL フォーム エンコードを使用する必要はありません。json または xml でエンコードされた POST 本文を簡単に送信できます。クライアントとサーバーが同期している限り、まったく異なるエンコーディングを作成して使用することもできます.

于 2012-11-18T06:25:25.410 に答える