ネットワーク/HTTP

URL Parser

URLを構成要素に分解します — プロトコル、ホスト、ポート、パス、クエリパラメータ、フラグメント。


                    

A URL is made of several parts — protocol, host, port, path, query parameters, and a fragment — that are easy to mix up when reading a long link. This tool breaks a URL down into those parts and shows each one separately.

How to use it

Common uses

Things to keep in mind

The fragment (the part after #) is never sent to the server — it's a purely client-side part of the URL the server never even sees.

Hosts with non-ASCII characters (Cyrillic, CJK) are actually transmitted over the network in punycode (xn--...), even when the browser's address bar shows plain letters.

このツールに関する記事: URL解析:ウェブアドレスはどんな部分でできているか

よくある質問

URLの「host」と「origin」の違いは何ですか?

hostはドメインとポートのみです(example.com:8080)が、originにはスキームも含まれます(https://example.com:8080)。2つのURLが同じoriginを共有するには、この3つすべてが一致する必要があります。

解析されたパスが入力したものと異なって見えることがあるのはなぜですか?

ブラウザやパーサーはURLを正規化します — 「./」や「../」セグメントを圧縮したり、一部のパーセントエンコード文字をデコードしたり、素のドメインに末尾のスラッシュを追加したりするため、解析結果は解決された正規形を反映します。

ここでURLを解析すると、どこかに送信されますか?

いいえ。解析はネイティブのURL APIを使ってブラウザ内で完全に行われます — サーバーには何も送信されません。

URLのuserinfoとは何ですか、なぜ危険なのですか?

ホストの前にある「user:password@」の部分は認証情報のためのものですが、攻撃者はこれを使ってフィッシングリンクを偽装します。https://accounts.google.com@evil.com/ は実際にはGoogleではなくevil.comにつながります。

一部のURLでホストがxn--で始まる無意味な文字列に見えるのはなぜですか?

これは国際化ドメイン名(IDN)のためのpunycodeエンコードです — キリル文字やCJK文字など非ASCII文字を含むドメインを、古いDNSシステムに対応した形式で表す方法です。

記事: ネットワーク/HTTP