使用時にhttpリクエストのボディ部分で送信されたデータをURLエンコードする実際の必要性を誰かが私に説明できますか
content-type: application/x-www-form-urlencoded
ありがとう
「必要」とは「目的」という意味ですか?
紫を求めている場合は、サーバーに何を期待するかを伝えるだけです: URL エンコードされたキー = 値のペア。また、サーバーは、マルチパート/フォームデータなど、何が来ていないかを知ることができます! これにより、サーバーは着信データの読み取り方法を明確に知ることができます。
データは 1 つのヘッダーとして送信されます (これが、サイズ制限がある理由でもあります)。そのため、改行、コロンなどは絶対に避けてください。これに加えて、データ内の = をエスケープして、key=value 構造を台無しにしないようにする必要があります。同じ理由で & もエスケープしたいとします。URL エンコーディングはそれをすべて行います。したがって、HTTP プロトコルを設計した人が誰であれ、それを採用したのは理にかなっています。
POST 要求でサーバーにデータを送信する方法は複数あります。URL エンコードされたデータは、いくつかの可能な形式の 1 つにすぎません。
クライアントとサーバーは、POST 本文のデータの形式について合意する必要があります。URL フォームでエンコードされたデータは、ユニバーサルにサポートされているため、最も簡単に使用できます。ブラウザはネイティブでサポートしています。すべてのプログラミング言語では、使い慣れた構文を使用して URL エンコードされた投稿パラメーターを読み取ることができます。
もちろん、URL フォーム エンコードを使用する必要はありません。json または xml でエンコードされた POST 本文を簡単に送信できます。クライアントとサーバーが同期している限り、まったく異なるエンコーディングを作成して使用することもできます.