URL Encoding
URLエンコーディング(パーセントエンコーディング)は、URLに使用できない文字を%HH形式に変換する仕組みで、任意のデータを安全にURL構成要素へ含められるようにする。
目的
予約文字(/、?、#、= など)や非ASCII文字がURL構造を壊さないようにしつつ、可逆な往復変換を保つ。
メカニズム
安全でない文字をバイトごとに%と2桁の大文字16進数へ変換する。RFC 3986が予約文字集合を定義しており、HTML5のapplication/x-www-form-urlencoded形式ではさらにスペースを+にエンコードする。現代のブラウザとfetch APIはこれを自動処理する。
ユースケース
- URLクエリパラメータへの非ASCIIテキストや特殊文字の受け渡し
- RESTful APIのパスパラメータのエンコーディング
- OAuthコールバックURLのエンコーディング
- mailtoリンクの件名と本文
例
- 入力
a b&cOutputa%20b%26cRFC 3986 form; the form-encoded variant is a+b%26c
よくあるエラー
- Encoding the entire URL instead of just the parameter values
- Encode parameter values only and keep the /?=& delimiters
関連用語
Percent-Encoding
パーセントエンコーディングは、URL内の安全でない文字を%HH形式に変換する仕組みであり、RFC 3986で定義される。 用語集
Form Encoding
フォームエンコーディング(application/x-www-form-urlencoded)は HTML フォームが送信時にキーと値の組を符号化する方式で、空白を %20 ではなく + にする。 用語集
HTML Entities
HTML エンティティは、HTML で特別な意味を持つ文字(<、>、&、")を &name; や &#NNN; の形式にエスケープし、マークアップとして解釈されず文字どおり表示させる。 用語集
URL
URL(Uniform Resource Locator)は、インターネット上のリソースの場所を識別する文字列で、スキーム、ホスト、ポート、パス、クエリ、フラグメントで構成される。 用語集
関連ツール
URL エンコーダー
Percent-encode text for safe use in URLs。無料、プライベート、100%クライアントサイド。 ツール
URL デコーダー
Decode percent-encoded URL text back to readable characters。無料、プライベート、100%クライアントサイド。 ツール
URL パーサー
Parse a URL into its components: protocol, host, path, query, hash, port, username, and password。無料、プライベート、100%クライアントサイド。 ツール
URL フォームエンコーダー
Url Encode Form — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
URL フォームデコーダー
Url Decode Form — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
URL コンポーネントデコーダー
Url Decode Component — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール