URL解析・クエリ編集
URL Parser & Query Editor
URLを構成要素に分け、クエリパラメータを編集できる表として見せ、書き換えた結果を組み立て直します。
URLを部品に分け、クエリ文字列を編集できる表に変え、直すそばからURLを組み立て直します。後半が、必要だと気づかれていない部分です。パーサーが黙って変えたものを知らせるパネルがあり、「curlでは通るのにブラウザでは通らない」の答えはたいていそこにあります。
ホストだけでも動きます。https:// を補ったうえで、補ったことを下に表示します。
プロトコル
https:
ホスト
example.com
ポート
(既定値)
オリジン
https://example.com
パス
/products/42
フラグメント
#reviews
パスの区切り
- products
- 42
クエリパラメータ (4件、うち追跡用 2件)
- Google Analytics campaign source
- Google Analytics campaign medium
- 原文: price+desc
正規化した URL
https://example.com/products/42?utm_source=newsletter&utm_medium=email&id=42&sort=price%20desc#reviews
エンコードとデコード
クエリの値
a%20b%2Fc%2Bd%26e%3Df
encodeURIComponent が残す !'()* も含めて、予約文字をすべてエスケープします。空白は %20 です。
フォーム本文 (application/x-www-form-urlencoded)
a+b%2Fc%2Bd%26e%3Df
同じ規則ですが空白が + になります。だから値に含まれる + は %2B として送る必要があります。
パスの区間
a%20b%2Fc%2Bd%26e%3Df
スラッシュはエスケープしないとパスが分かれます。ここでの + は空白ではなく、そのままのプラス記号です。
フラグメント (#…)
a%20b/c+d&e=f
URL で最も寛容な部分です。? / : @ などはエスケープなしでもそのまま使えます。
URL 全体 (encodeURI)
a%20b/c+d&e=f
構造を作る文字はそのまま残します。入力が本当に URL 全体であるときだけ正しい方法です。
URL はこのページの中で解析するだけで、リクエストは送りません。取得もリダイレクトの追跡もしないので、セッショントークンや署名付きリンクを含む URL もこのタブから出ません。
使い方
URLを貼り付けます
ホストだけでも受け取り、https://を補ったものとして扱います。その仮定は隠さずに表示します。data: URLは解析ではなく内容の説明を出します。
クエリを行として編集します
計測用パラメータが15個あると1行では読めず、15行なら一目で分かります。計測用のものには名前で印が付き、ボタン1つでまとめて消せます。
パーサーが変えたものを読みます
小文字になったホスト、Punycodeになった国際化ドメイン、解決されて消えた .. の区間。どれも黙って起こり、貼り付けたURLには見えず、そしてどれも同じ文字列を2つのクライアントで違う動きにするのに十分です。
署名が合わないときはエンコードのパネルを使います
同じ文字列を、すべてのエンコード規則で一度に見せます。クエリの値の中のプラス記号と、パスの一部のプラス記号は、同じようにはエンコードされません。それが見えるのは、並べて置いたときだけです。
よくある質問
URLを取得しますか
しません。ページの中で解析するだけで、リクエストは出しません。取得もせず、リダイレクトも追いません。セッショントークンや署名入りのリンクが載ったURLも、このタブの中に留まります。
utm_パラメータを消しても大丈夫ですか
着地先のページにとっては大丈夫です。これらは分析ツールが読む値で、アプリケーションが読む値ではありません。例外は、パラメータに署名がかかっているリンクや、ページが実際に必要とする識別子が入っているリンクなので、共有する前に残ったものを確かめてください。
「二重エンコード」とはどういう意味ですか
値が、それぞれ親切にパーセントエンコードするシステムを2つ通ったということです。%2520は、空白が%20になり、その%がもう一度エンコードされた結果です。リダイレクト先のアドレスが壊れて届くよくある原因です。
大文字のホストが小文字になったのはなぜですか
ホスト名は大文字小文字を区別せず、URLの標準が小文字に正規化するからです。パスは違います。/Pageと/pageは別の資源で、だからURLの片側だけが変わります。
ここから渡せます
URLエンコード・デコード
URL Encoder & Decoder
URLとクエリの値をパーセント符号化・復号し、URL全体と構成要素のどちらとして扱うかを切り替えられます。
QR・バーコード読み取り
QR & Barcode Reader
アップロードした画像・スクリーンショット・カメラからQRコードと主要なバーコードを読み取ります。
短縮URLの追跡
Redirect Chain Tracer
短縮URLや計測リンクのリダイレクトをすべてたどり、最終的な行き先を示します。
リンクプレビュー確認(OGP)
Link Preview Debugger
URLからOpen GraphとTwitterカードのタグを読み、共有したときの見え方をそのまま描きます。
次の一手
このツールが出したものをそのまま受け取れる道具です。
リンクプレビュー確認(OGP)
Link Preview Debugger
URLからOpen GraphとTwitterカードのタグを読み、共有したときの見え方をそのまま描きます。
Punycode変換
Punycode Converter
国際化ドメイン名とPunycodeを相互に変換し、見分けのつきにくい文字があれば警告します。
URLエンコード・デコード
URL Encoder & Decoder
URLとクエリの値をパーセント符号化・復号し、URL全体と構成要素のどちらとして扱うかを切り替えられます。
短縮URLの追跡
Redirect Chain Tracer
短縮URLや計測リンクのリダイレクトをすべてたどり、最終的な行き先を示します。
DNSレコード検索
DNS Lookup
A・AAAA・CNAME・MX・TXT・NS・SOA・SRV・CAA・PTRをDoHで引き、TTLとDNSSECの有無をCloudflareかGoogleのどちらかで表示します。
HTTPリクエスト作成
HTTP Request Builder
GET/POST/PUT/PATCH/DELETE/HEADをヘッダーと本文まで指定して送り、ステータス・ヘッダー・本文・所要時間を表示します(CookieとAuthorizationは転送しません)。