Percent-Encoding
パーセントエンコーディングは、URL内の安全でない文字を%HH形式に変換する仕組みであり、RFC 3986で定義される。
目的
URLの構造文字(/ ? # = &)の意味を保ちながら、任意のバイトをURL構成要素の中に安全に出現させる。
メカニズム
安全でない文字の各バイトは、%に続く2桁の大文字16進数になる。予約集合は構成要素ごとに異なり、パスでは/が、クエリでは? = &が許可される。非予約文字(A-Z a-z 0-9 - _ . ~)はエンコードされない。
ユースケース
- URLクエリパラメータのエンコード
- RESTfulなパスパラメータ
- OAuth署名ベース文字列の構築
- S3のURLパスエンコード
例
- 入力
hello worldOutputhello%20worldA space encodes as %20
よくあるエラー
- Double encoding (an already-encoded % gets encoded again as %25)
- Encode the raw value exactly once
関連用語
URL Encoding
URLエンコーディング(パーセントエンコーディング)は、URLに使用できない文字を%HH形式に変換する仕組みで、任意のデータを安全にURL構成要素へ含められるようにする。 用語集
Form Encoding
フォームエンコーディング(application/x-www-form-urlencoded)は HTML フォームが送信時にキーと値の組を符号化する方式で、空白を %20 ではなく + にする。 用語集
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%クライアントサイド。 ツール
PCT エンコーダー
Pct Encode — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
PCT デコーダー
Pct Decode — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール