tellogs.com

URLエンコーダーのURLコンポーネント別のエンコード

URLエンコーダー

URLエンコーディングには「フルエンコーディング」と「コンポーネントエンコーディング」の二つの主要な方式があります。フルエンコーディングはURL全体を対象とし、スキームやホスト名などの構造的な部分も含めてすべての特殊文字を変換します。一方、コンポーネントエンコーディングはURLのパスやクエリパラメータなどの特定の部分のみを対象とし、URLの構造を保ったまま変換を行います。用途に応じて適切な方式を選択することが重要です。

JavaScriptのencodeURIComponent関数とencodeURI関数は、それぞれコンポーネントエンコーディングとフルエンコーディングに対応しています。encodeURIComponentはスラッシュやコロンなどもエンコードするため、URLの一部として使用するパラメータ値に適しています。encodeURIはURL全体を対象とし、スキームの区切り文字などは変換しません。Pythonのurllib.parseモジュールでも同様にquoteとurlencodeという関数が用意されています。

実際の開発では、POSTリクエストのボディに含めるデータにはencodeURIComponentを、ページ遷移用のURLにはencodeURIを使用するのが一般的です。この区別を誤ると、URLが正しく機能しなくなるだけでなく、セキュリティ上の脆弱性につながる可能性もあります。このツールでは両方のモードを切り替えられるため、適切なエンコーディング方式を確認しながら作業を進めることができます。

URLエンコーダーを使ってみましょう

このページの内容を、URLエンコーダーで実際に試してみましょう。

URLエンコーダーを開く