URL 파서
URL을 프로토콜·호스트·포트·경로·쿼리·해시로 분해. 쿼리 파라미터를 표로 디코딩.
프로토콜
https:
Origin
https://example.com:8080
호스트명
example.com
포트
8080
경로
/path/to/page
쿼리 문자열
?q=hello&lang=en
해시
#section
사용자명
user
비밀번호
pass
쿼리 파라미터
| 키 | 값 |
|---|---|
| q | hello |
| lang | en |
브라우저 네이티브 URL API 사용.
사용법
- URL 붙여넣기(스킴 필수, 예: https://).
- 각 부분 확인 후 개별 복사.
- 쿼리 파라미터 표에서 각 값 검증.
자세한 설명
펼치기접기
URL을 붙여넣으면 각 부분에 이름표가 붙어 나옵니다. 프로토콜, 오리진, 호스트명, 포트, 경로, 쿼리 문자열, 프래그먼트가 표시되고, 포함된 자격 증명은 따로 보여 주며, 쿼리 파라미터는 키/값 행으로 펼쳐져 중복이나 인코딩 실수가 한눈에 드러납니다. 브라우저 자체의 WHATWG URL 파서를 사용하는데, fetch와 주소창이 쓰는 바로 그 파서입니다. 덕분에 입력한 문자열이 아니라 코드가 실제로 받게 될 정규화 결과를 볼 수 있습니다. 호스트는 소문자로 바뀌고, https의 443 같은 기본 포트는 사라지며, 경로의 점 세그먼트는 정리되고, ASCII가 아닌 호스트명은 퓨니코드 형태로 변환됩니다. URL이 보이는 것과 다르게 동작한다면 대개 그 차이가 여기에 있습니다.
자주 묻는 질문
입력이 왜 실패하나요?
URL에는 스킴 필요. example.com/path는 파싱 불가, https://example.com/path는 OK. 상대 경로·프로토콜 상대 URL(//example.com)도 파싱 안 됨.
https://example.com의 port가 왜 비어있나요?
프로토콜 기본 포트(http=80, https=443)이면 URL.port는 의도적으로 빈 문자열. 실제론 443에 연결됨.
쿼리 파라미터는 디코딩되나요?
예. %20은 공백, %2F는 /로 표시. 키·값 복사 시 디코딩된 형태. percent-encoded 원문이 필요하면 search 보기.
URL이 어디로 전송되나요?
아니요. 파싱은 브라우저 내 WHATWG URL API로만.
붙여넣은 URL이 바뀌어서 돌아왔습니다. 버그인가요?
아닙니다. 여러분의 코드가 실제로 받게 될 정규화 결과입니다. WHATWG 파서는 호스트를 소문자로 바꾸고, 기본 포트를 떼어 내고, 경로의 점 세그먼트를 정리하고, ASCII가 아닌 호스트명을 퓨니코드로 바꿉니다. 정규화된 형태를 보는 것이 대개 요점입니다. fetch와 브라우저, 대부분의 서버가 실제로 쓰는 것이 그 형태이기 때문입니다.
example.com만 넣으면 왜 거부되나요?
스킴이 없으면 그것은 URL이 아니라 URL처럼 보이는 문자열일 뿐이기 때문입니다. 파서는 여러분이 https를 뜻했는지 ftp를 뜻했는지 상대 경로를 뜻했는지 추측할 수 없고, 링크가 의도치 않은 곳을 가리키게 되는 것도 바로 그런 추측 때문입니다. 앞에 https://를 붙이면 해석됩니다.
관련 도구
쿼리 문자열 ↔ JSON 변환기
URL 쿼리 문자열을 JSON 객체로, 그리고 그 반대로 변환합니다. 브라우저에서 동작합니다.
개발
문자열 이스케이프 변환기
한 입력으로 10개 컨텍스트 이스케이프 출력 — JavaScript, JSON, HTML 엔티티, URL, SQL, regex, Bash(단·이중 따옴표), C 문자열, Unicode \u. 필요한 것을 복사.
개발
URL 쿼리 빌더
base URL + 편집 가능한 key-value 쿼리 파라미터로 URL 조립 — 각 쌍 토글, 자동 percent 인코딩.
네트워크
Data URI 파서 및 디코더
data: URI를 디코드해 MIME 타입, 인코딩, 크기, 디코드된 내용을 브라우저에서 확인합니다.
개발
JSONPath 테스터
JSON 문서에 대해 JSONPath 쿼리($.store.book[*].author, $..price) 실행, 일치 값 확인.
개발
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발