application/x-www-form-urlencodedとは?その使い方を解説

application/x-www-form-urlencodedはContent-typeの一種になり、時にはapplication/x-www-form-urlencodedに指定してデータを送信する必要があります。本文では、application/x-www-form-urlencodedの詳細情報を皆さんに紹介した上、application/x-www-form-urlencodedでデータを送信してAPIにアクセスする方法を一緒に解説していきたいと思います。

中村 拓也

中村 拓也

12 5月 2025

application/x-www-form-urlencodedとは?その使い方を解説

APIのリクエストを送信する時、Content-typeをappliation/jsonに指定することが多いのですが、時にはapplication/x-www-form-urlencodedに指定してデータを送信する必要があります。

application/x-www-form-urlencodedはContent-typeの一種だと分かっていますが、それはどのように動いでいるのかが分からないユーザーが多くいます。そこで、本文では、application/x-www-form-urlencodedの詳細情報を皆さんに紹介した上、application/x-www-form-urlencodedでデータを送信してAPIにアクセスする方法を一緒に解説していきたいと思います。

💡
APIの設計中に、APIリクエストのデータ受け渡しの仕組みをx-www-form-urlencoded形式に設定することも、APIのテスト中にボディでx-www-form-urlencoded形式でパラメータを記入してリクエストを送信することも、Apidogによって簡単に行われます。
Apidogは、APIの設計、テスト、仕様書生成及びモックサーバーなどにも対応可能なAPI管理ツールとして、非常に直感的なGUIでAPIに関わる作業を手軽にやり遂げます。個人向け完全無料ですが、誰でもApidogを制限なく利用することができます。無料で始めるには、下記のボタンから!👇👇👇
button

application/x-www-form-urlencodedとは

application/x-www-form-urlencodedは、HTMLフォームから送信されるデータをエンコードするためのContent-Typeの1つになります。Content-Typeとはヘッダーに入れるリクエスト本文の型を定義するためのものになります。

主な特徴は以下の通りです:

例えば、フォームにnameemailの入力欄があり、それぞれJohn Doejohn@example.comが入力された場合、以下のようにエンコードされます。

name=John%20Doe&email=john%40example.com

ブラウザはデフォルトでこのフォーマットを使用してフォームデータを送信します。サーバー側では、このデータを受信してデコードすることで、フォームの内容を読み取ることができます。

application/x-www-form-urlencodedの仕様

上記の説明から、大抵application/x-www-form-urlencodedの主な仕様が分かるようになるのでしょう。上記の情報を踏まえて、次は、application/x-www-form-urlencodedの詳細仕様を解説していきたいと思います。

文字エンコーディング

キーと値のエンコーディング

キーと値の区切り

キーの並び順

長さの制限

Content-type

文字エンコーディング

この仕様に従うことで、フォームデータを安定した形式で送受信できます。サーバー側でもこの仕様に対応することが重要です。

application/x-www-form-urlencodedとURLパラメータ

多くのユーザーは、application/x-www-form-urlencodedのフォーマットは、URLパラメータに似ているのではないかという疑問を抱いているかもしれません。確かに両者のフォーマットは非常に似ています。

例えば、共通の特徴は以下のような点です:

例えば、以下はapplication/x-www-form-urlencodedの例です:

key1=value1&key2=value2

以下は対応するURLパラメータの例です:

?key1=value1&key2=value2

非常に似たフォーマットになっています。ただし、細かな違いはあります。

などの点で若干異なります。

しかし、基本的な構造とエンコーディングの仕組みはほぼ同じです。このため、データの表現方法としては非常に似通ったフォーマットだと言えます。

application/x-www-form-urlencodedとJSONの違い

通常、APIにアクセスしようと思っている場合、APIサーバー側が定義しているデータ送信の形式に従わないといけません。現在大部のAPIでは、JSONの利用が主流になっていて、application/x-www-form-urlencodedがそんなに多く使用されていません。そこで、この部分では、application/x-www-form-urlencodedとJSONの違いを皆さんに紹介しようと思います。

形式の違い

拡張性の違い

データ型の違い

解析のしやすさ

データ量の違い

国際化のしやすさ

セキュリティの違い

上記の内容から、application/x-www-form-urlencodedはシンプルなキーと値のみの表現に限られることがわかると思います。したがって、複雑なデータ構造を扱うWeb APIではJSONの方が適していると言えます。後方互換性など特別な理由がない限り、JSONを利用するのが一般的です。

x-www-form-urlencoded形式でリクエストを送信

APIテスト時に、APIサーバーが要求するデータ形式を利用してデータを送信する必要があります。そうしないと、正確にAPIにアクセスすることができません。それでは、APIのリクエストを送信する場合は、どうやってx-www-form-urlencoded形式で送信すればいいのでしょうか?

button

Apidogは、非常に使いやすいAPIクライアントツールとして、GUIで楽にAPIにアクセスできます。次のように、APIリクエストを送信する前に、GUIで簡単にx-www-form-urlencoded形式で送信するデータを指定することができます。

apidogでx-www-form-urlencodedを指定

このように、ApidogでAPIのリクエストを送信する場合、「Body」タブを切り替えて「x-www-form-urlencoded」を選択すると、content-type=application/x-www-form-urlencodedという項目が自動的にHeaderに追加されます。そして、この画面で、送信したいデータをGUIで直感的に記入可能ですので、非常に便利です。

まとめ

本文では、application/x-www-form-urlencodedというコンテンツタイプを詳しく皆さんに紹介しました。application/x-www-form-urlencoded形式でAPIリクエストを簡単に送信するために、Apidogという使いやすいツールを利用することがおすすめです。

ApidogはGUIベースで操作性が高いAPIテストツールです。リクエストのBodyタブで「x-www-form-urlencoded」を選択するだけで、簡単にその形式での送信ができますので、ぜひお試しください。

button

Explore more

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDBは、200以上のデータソースへの接続を容易にし、AIアプリの構築やインサイトの探索をプロのように実現します。さらなるデータソースの接続や、APIdogでのAPIドキュメント化をお試しください。

26 5月 2025

IT初心者必見!Google Drive MCPサーバーでAIを強化する方法

IT初心者必見!Google Drive MCPサーバーでAIを強化する方法

MCPサーバーは、AIをソフトウェア開発でより効果的なパートナーにし、生産性を向上させます。Google Drive MCPサーバーはAIのデータ統合を簡素化し、API開発ではApidog MCPサーバーが重要な役割を果たします。

22 5月 2025

2025最新:Node.jsでWebSocketを利用する

2025最新:Node.jsでWebSocketを利用する

WebSocketはブラウザとサーバー間のリアルタイムな双方向通信を可能にする技術です。Node.jsでwsモジュールを使って、WebSocket通信を簡単に実現することができます。本文では、Node.jsでWebSocketを利用する方法を紹介します。必要な方はぜひこの記事の内容を参照してください。

12 5月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる