URL Parser
URL を貼り付けると Protocol、Host、Port、Path、Query String、Hash などの構成を即座に解析します。
Query Parameters の table parsing、domain analysis、URL structure diagram、health check に対応します。
URL よくある質問 FAQ
Q1: URL、URI、URN の違いは何ですか?
URI(Uniform Resource Identifier) リソースを一意に識別するための統一的な識別子で、URI 系概念の最上位に位置するものです。
URL(Uniform Resource Locator) resource を識別するだけでなく、network location を通じて「どのように取得するか」も示す Uniform Resource Locator です。
URN(Uniform Resource Name) リソースを識別するだけで、場所情報を持たない統一的なリソース名です。
簡単に言うと、すべての URL は URI ですが、すべての URI が URL とは限りません. 例 https://example.com/page は URI であると同時に URL でもあり、 urn:isbn:0-486-27557-4 URI ですが URL ではありません。
Q2:Query String と Fragment にはどのような違いがありますか?
クエリ文字列 へ ? 次で始まる & 区切り付きキー・値ペア(例: ?name=gary&id=123). クエリ文字列はサーバーへ送信, 検索パラメータ、フィルター条件、ページング情報などによく使われます。
フラグメント(フラグメント識別子) へ # 先頭で、サーバーへ送信されません, browser side のみで使われます。page internal anchor(特定 block への jump)や SPA routing state などによく利用されます。
例:
https://example.com/page?query=hello#section-2
• ?query=hello → サーバーが受信
• #section-2 → ブラウザー内のみで使用
Q3:TLD(top-level domain)とは何ですか? subdomain とは何ですか?
TLD(Top-Level Domain、トップレベルドメイン) ドメインの最後の部分です。たとえば .com、.org、.tw、.co.uk 保留。ICANN によって管理されています。
セカンドレベルドメイン TLD の直前にある部分で、通常は Web サイトの主要な名前です。たとえば example 内 example.com in.
サブドメイン セカンドレベルドメインより前の部分で、異なるサービス領域を分けるために使われます。例えば blog 内 blog.example.com 内、api 内 api.example.com in.
for blog.example.co.uk:
• サブドメイン: blog
• ドメイン: example
• TLD: co.uk
Q4:URL の Port とは何ですか? default port number はいくつですか?
Port はネットワーク通信で異なるサービスを区別するための数値ラベルで、範囲は 0〜65535 です。URL で Port を指定しない場合、ブラウザーはデフォルトポート番号:
• HTTP:80
• HTTPS:443
• FTP:21
• SSH:22
例 https://example.com:8080/path 内 8080 標準ではない port number で、開発段階の test server などでよく使われます。非標準 port を使う場合は URL に明示的に指定する必要があります。
Q5: URL 内の Username と Password にはどのような役割がありますか?安全ですか?
URL 内で Username と Password を表す形式は https://user:pass@host/、HTTP Basic Authentication で使われる URL encoding 方式です。初期の Web では browser が認証情報を直接送信する際によく利用されました。
⚠️ セキュリティリスク:
• パスワードが URL に平文で表示されるため、盗聴や漏えいのリスクがあります。
• URL は browser history、server log、Referer header などへ記録される場合があります。
• modern browser では URL 内の password authentication は段階的に廃止されています。
提案: URL に authentication information を含めず、Authorization header または cookie を使用してください。
Q6: URL Encoding(Percent-Encoding)とは何ですか?
URL Encoding(Percent-Encoding とも呼ばれます) URL 内の特殊文字を % % の後に 2 桁の hexadecimal code を続ける仕組みです。URL 内では一部の文字が特別な意味を持つため(例: ? Query String を開始、# Start Fragment)では、これらの部分にリテラル値を使う場合はエンコードが必要です。
一般的なエンコーディング:
• 空格 → %20
• # → %23
• ? → %3F
• & → %26
ブラウザは URL を自動的にエンコードします。そのため、中国語などを含む URL をアドレスバーへ貼り付けると、次のような表記が見えることがあります。 %E4%B8%AD%E6%96%87 このような形式。
Q7: このツールは URL 情報をサーバーへアップロードしますか?
まったくありません。このツールは純フロントエンドアプリケーション, URL の解析、domain analysis、health check はすべてブラウザー内でローカル実行され、データはサーバーへ送信されません。オフラインでも動作するため、機密性のある URL もローカルで扱えます。
URL 構造完全ガイド:URL から Query String まで徹底解説
URL の完全な構造
完全な URL は次の形式に従います:
- スキーム: https、http、ftp、mailto など、接続に使う protocol を browser へ指定します。
- User:Password@(認証): 任意の HTTP Basic Authentication 情報。
- ホスト:サーバーのドメイン名または IP アドレス。
- ポート: 任意。サーバーのポート番号を指定します。
- Path: server 上の resource path で、file name と extension を含めることができます。
- クエリ文字列: ? で始まり、キーと値のペアのパラメーターを含みます。
- フラグメント: # で始まり、page 内の特定位置を指します。
Web 開発における URL 解析の活用
URL を正確に解析する技術は、Web 開発の幅広い場面で活用できます:
- ルーティング設計: React Router や Vue Router などのフロントエンド SPA フレームワークは、URL を解析してどの要素を描画するか判断する必要があります。
- API 開発:backend API は request 処理のため URL から path parameter と Query String を抽出する必要があります。
- SEO 最適化: URL 構造は検索順位に直接影響し、明確な URL パスとパラメータ設計は SEO 改善に役立ちます。
- セキュリティ分析:URL に malicious parameter や phishing site の偽装手法(IDN Homograph Attack など)が含まれるか検出します。
- データ取得: third-party Web site から e-commerce product ID、social post ID など有用な情報を抽出します。
- リダイレクトとプロキシ:URL parsing は URL rewriting、reverse proxy、CDN routing を実装する基礎です。
URL security:malicious URL を見分ける方法
URL resolution は network security で重要です。代表的な malicious URL technique は次のとおりです。
- IDN ホモグラフ攻撃: 見た目が似た character を利用します(例:「google.com」の文字を Cyrillic に置き換え、本物の「google.com」に見せかける)。
- URL 偽装:URL に追加
@この記号があると、直前の文字列が Username として扱われ、実際には @ の後ろにある Web サイトへリンクされます。 - 二重エンコード: security filter を bypass するため URL を 2 回 Percent-Encode します。
- URL が長すぎます: 悪意あるパラメータを非常に長い Query String に隠し、セキュリティ検査の走査範囲外へ追いやる手法です。
このツールの URL ヘルスチェック この機能により、上記 risk の一部を素早く特定できます。