네트워크/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
- Paste any URL and it's split into protocol, host, port, path, query parameters, and fragment (#) instantly.
- Query parameters are listed as separate key-value pairs, even when there are many or they repeat.
- The port is shown explicitly even when the URL doesn't specify one (in which case the protocol's default applies — 80 for HTTP, 443 for HTTPS).
Common uses
- Quickly reading a long link cluttered with dozens of tracking parameters (utm_*, ref, fbclid, and so on).
- Checking exactly which host and port a link from someone else will actually open.
- Debugging redirects or malformed URLs in code — you can see exactly which part differs from what's expected.
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의 "host"와 "origin"의 차이는 무엇인가요?
host는 도메인과 포트일 뿐이지만(example.com:8080), origin은 스킴도 포함합니다(https://example.com:8080) — 두 URL이 같은 origin을 공유하려면 세 가지 모두 일치해야 합니다.
파싱된 경로가 입력한 것과 다르게 보이는 이유는 무엇인가요?
브라우저와 파서는 URL을 정규화합니다 — "./"와 "../" 세그먼트를 축소하고, 일부 퍼센트 인코딩된 문자를 디코딩하며, 단순 도메인에 후행 슬래시를 추가합니다 — 따라서 파싱 결과는 해결된 정규 형태를 반영합니다.
여기서 URL을 파싱하면 어딘가로 전송되나요?
아니요. 파싱은 네이티브 URL API를 사용하여 브라우저 내에서 완전히 이루어집니다 — 서버로 전송되는 것은 없습니다.
URL의 userinfo란 무엇이고 왜 위험한가요?
호스트 앞의 "사용자이름:비밀번호@" 부분은 자격 증명을 위한 것이지만, 공격자는 이를 이용해 피싱 링크를 위장합니다: https://accounts.google.com@evil.com/ 은 실제로 Google이 아니라 evil.com으로 연결됩니다.
일부 URL의 호스트가 xn--로 시작하는 무의미한 문자열처럼 보이는 이유는 무엇인가요?
이는 국제화 도메인 이름(IDN)을 위한 punycode 인코딩입니다 — 키릴 문자나 CJK 등 비ASCII 문자를 포함한 도메인을 더 오래된 DNS 시스템과 호환되는 형식으로 표현하는 방법입니다.