ガイド
URLをエンコードすべき時、しない時
URLエンコードが必要な場面と、逆に問題を生む場面を実務向けに整理します。
URLエンコードはリンクを安全にしますが、タイミングを間違えるとリダイレクトや計測、API連携が壊れます。判断基準を短くまとめました。
クエリ値はエンコードする
検索語やキャンペーン名など、空白や記号を含む値はエンコードが必要です。
値を先にエンコードしてからURLに入れると安全です。
URL全体を機械的にエンコードしない
すでに有効なURL全体を再エンコードすると、読みにくく壊れたリンクになります。
予約文字を含む可能性がある動的部分だけを対象にします。
二重エンコードを見抜く
二重エンコードでは % が %25 になり、値が崩れます。
出力に %25 が多い場合は一度デコードして発生箇所を確認します。
- 値ごとに1回だけエンコード
- 既にエンコード済みの再エンコードを避ける
- どこでエンコードするかを運用に明記
パス・クエリ・リダイレクトを分ける
パスセグメント、クエリ値、入れ子URLは扱いが異なります。
一括処理ではなくレイヤーごとに処理します。
チームで共通ルールを作る
ワークフロー内でエンコード実行箇所を固定します。
チーム間でリンク品質が安定します。
役立つ場面
- クエリ付きリンク作成
- ツール間でURLを受け渡す時
- 計測リンクのデバッグ
- 二重エンコード防止
必要な部分だけをエンコード
基本はURL全体ではなく動的な値をエンコードします。ルールを決めるとリンク不具合を減らせます。