URL 파서 및 분석기 | Query Parameter와 상대 URL

변환브라우저에서 실행(업로드 없음)

절대 URL 하나를 파싱하거나 URL 참조를 명시적인 기준 URL에 맞춰 해석합니다. 목적지를 열지 않고 브라우저가 정규화한 URL, origin, 자격 증명, host, 유효 port, path segment의 원문과 디코딩 값, 순서가 보존된 query 항목, 중복 key, 더하기 기호 처리, fragment를 확인합니다. 결과는 이 브라우저에서 로컬로 생성됩니다.

다음에 할 작업

관련 작업 흐름을 이어가거나 이 작업 다음에 자주 사용하는 도구를 열어보세요.

이 도구 사용 방법

입력에 scheme이 있으면 절대 URL을, 상대 path, query, fragment라면 기준 URL 모드를 선택합니다.

기준 URL 모드에서는 참조를 붙여넣기 전에 실제 application이 사용하는 정확한 HTTP 또는 HTTPS base를 입력합니다.

복사하거나 다운로드한 결과에 자격 증명이 꼭 필요하지 않다면 마스킹을 켜 둡니다.

Parser를 실행하고 signature, redirect, cache key에 사용하기 전에 입력 원문과 정규화 URL을 비교합니다.

Path, query, fragment의 raw와 decoded 값을 확인하고 반복 key, 빈 항목, 더하기 기호, 잘못된 percent escape를 검토합니다.

필요한 구성 요소를 복사하거나 전체 text report를 받은 뒤 접속 가능성, 소유권, 서버 처리, 안전성은 별도로 확인합니다.

이 도구를 써야 할 때

OAuth 및 SSO callback 디버깅

OAuth나 SSO redirect 설정을 바꾸기 전에 callback origin, path, 순서가 있는 state 값, 중첩 return target, fragment를 분리합니다.

캠페인 및 analytics query 검사

반복 key와 입력 순서를 유지하면서 UTM, affiliate, 검색, filter 항목의 raw 형태와 decoded 값을 비교합니다.

상대 link와 routing 진단

../api, /assets, ?page=2, #section을 실제 배포 base에 맞춰 해석해 브라우저 routing 동작을 재현합니다.

Endpoint 및 proxy 설정 검토

Log나 설정에서 host 종류, 정규화된 IDN hostname, 명시적·유효 port, user information, origin, HTTP가 아닌 scheme 차이를 확인합니다.

잘못된 URL 증거 수집

하나의 구성 요소를 encoder나 query editor에 넘기기 전에 빈 구분자, 잘못된 escape, invalid UTF-8, form + 변환, 중복 key, fragment를 식별합니다.

흔한 실수

상대 참조를 절대 URL처럼 입력하는 경우

절대 URL 모드에는 scheme이 필요합니다. /docs, ../api, ?page=2, #section은 기준 URL 모드를 사용해 눈으로 확인할 수 있는 base를 기준으로 해석하세요.

정규화 결과를 입력 원문과 완전히 같다고 보는 경우

브라우저는 hostname을 소문자로 바꾸고, root slash를 추가하고, Unicode를 percent escape나 Punycode로 직렬화하고, 기본 port를 제거할 수 있습니다. signature, cache key, log 원문 비교에는 입력 원본도 보관하세요.

모든 더하기 기호를 실제 +로 읽는 경우

Query 파싱은 form 규칙을 따르므로 원문의 +는 공백으로 디코딩되고 %2B는 실제 더하기 기호가 됩니다. 검색어와 signature를 수정하기 전에 raw 항목과 decoded 값을 비교하세요.

반복된 query key를 한 값으로 합치는 경우

중복 key는 수신 framework에 따라 순서 있는 목록, override, 또는 오류일 수 있습니다. 파서는 순서를 보존하지만 서버가 어느 값을 사용할지는 결정하지 않습니다.

결과 마스킹을 비밀 정보 삭제로 오해하는 경우

자격 증명 마스킹은 카드, 복사, 다운로드 결과를 가리지만 원본 입력은 입력란에 그대로 보입니다. screenshot이나 report를 공유하기 전에 password, token, 개인정보를 제거하세요.

예시

URL 정규화와 중복 key 확인

브라우저 직렬화가 scheme과 hostname을 소문자로 바꾸고 명시한 HTTPS 기본 port를 제거하면서 path, query 순서, fragment는 보존합니다.

입력
HTTPS://EXAMPLE.COM:443/a%20b?tag=one&tag=two#review
출력
https://example.com/a%20b?tag=one&tag=two#review

자격 증명, IDN host, 더하기 규칙 검토

목적지를 열거나 확인하지 않고 직렬화된 자격 증명을 가리고 국제화 hostname을 ASCII 형식으로 바꿔 보여줍니다.

입력
https://user:secret@例え.テスト:8443/docs?q=C%2B%2B+URL
출력
https://[REDACTED]@xn--r8jz45g.xn--zckzah:8443/docs?q=C%2B%2B+URL

브라우저 URL 직렬화, decoded 보기, 신뢰 경계

이 도구는 platform URL 구현을 사용합니다. Parser가 직렬화한 href에서는 scheme과 hostname이 소문자가 되고, Unicode hostname은 ASCII Punycode가 되고, 일부 문자는 percent escape가 되고, 빠진 root path에는 /가 생기고, 명시한 기본 port가 사라질 수 있습니다.

절대 URL 모드에는 scheme이 필요합니다. 기준 URL 모드는 같은 URL algorithm에 명시적인 HTTP 또는 HTTPS base 하나를 전달합니다. 따라서 /path는 base path를 교체하고, ../는 한 단계 올라가며, ?query는 base path를 유지하고, 이미 절대 주소인 입력은 base를 사용하지 않습니다.

Path segment, query 항목, fragment에는 직렬화된 raw 형태가 남고 decoded 보기는 별도로 표시됩니다. Query value는 URLSearchParams를 통한 application/x-www-form-urlencoded 규칙을 사용하므로 raw +는 공백, %2B는 더하기 기호가 됩니다.

잘못된 percent 문법과 유효한 UTF-8을 만들지 못하는 percent byte를 정상 디코딩처럼 숨기지 않고 알립니다. 빈 ampersand 구간, 빈 key, 빈 value, equals 기호 누락, 반복 decoded key, 빈 path segment도 확인할 수 있습니다.

Parser는 network request를 보내지 않습니다. 자격 증명 마스킹은 결과 직렬화에만 적용되고 운영 analytics에는 URL 문자열이 아닌 집계 수치만 들어갑니다. 문법 파싱 성공은 보안, 평판, DNS, TLS, redirect, 접속 가능성 검사가 아닙니다.

자주 묻는 질문

상대 URL도 파싱할 수 있나요?

절대 URL 모드는 https: 같은 scheme을 요구합니다. 기준 URL 모드는 /path, ../path, ?query, #fragment 같은 참조를 하나의 명시적인 HTTP 또는 HTTPS base URL에 맞춰 해석합니다.

파싱 과정에서 URL을 변경하거나 디코딩하나요?

정규화 URL과 path, query, fragment의 raw 형태를 그대로 보여주고 path segment와 fragment의 decoded 보기를 따로 제공합니다. Query는 +를 공백으로 읽는 URLSearchParams 방식의 decoded key와 value도 함께 표시합니다.

중복 query parameter를 덮어쓰나요?

아니요. 반복된 decoded key는 입력 순서대로 각각 유지됩니다. 서버 framework가 첫 값, 마지막 값, 목록 중 어느 방식으로 처리할지 다르므로 report에 모든 항목 번호와 중복 요약을 표시합니다.

자격 증명과 비밀 값은 어떻게 처리하나요?

결과 카드, 복사, 다운로드 문자열의 username과 password는 기본으로 가립니다. 원본 입력란은 가리지 않으며 query value 안의 token을 자동으로 식별하지도 않습니다.

파싱 성공은 URL이 안전하고 접속 가능하다는 뜻인가요?

아니요. 브라우저 URL parser를 로컬로 사용하며 목적지로 이동하지 않습니다. 문법상 파싱되는 URL도 접속 불가, 위장, 악성, 만료 상태이거나 방문하기 위험할 수 있습니다.

입력 크기와 출력 항목 제한은 얼마인가요?

입력은 Unicode 262,144자와 UTF-8 524,288바이트 이하입니다. 붙여넣은 URL이 무제한 결과를 만들지 않도록 path segment와 비어 있지 않은 query 항목은 각각 최대 1,000개입니다.

이 도구를 검증한 방법

관리 및 검수 검토일

검증 방법: “중첩 target과 반복 state를 보존하며 callback 정규화” 확인에는 가이드 원본 데이터와 URL 파서 및 분석기의 “입력과 브라우저 정규화 비교하기” 절차를 사용했습니다. 출력은 문서 결과와 일치해야 했습니다. 기록 전 경계 증거는 “원문을 남기기 전에 수정하기”, “정규화 text를 signature 원문으로 사용하기” 항목별로 검토했습니다.

기대 결과: 정규화된 callback은 host를 소문자로 바꾸고 HTTPS 기본 포트 443을 제거하면서, 인코딩된 중첩 target·state 두 값·#complete fragment를 모두 유지했습니다.

공식 출처와 표준

검증한 작업 가이드 열기

관련 작업 가이드

도구를 열기 전에 자주 쓰는 작업 흐름과 예시를 확인하세요.

작업 가이드

배포 전에 Content-Security-Policy 헤더 분석하기

CSP가 필요한 리소스를 차단하거나 후보 정책이 과도한 보고서를 만들거나 프록시가 의도한 헤더를 바꿀 때 사용하는 절차입니다. 로컬 정책 파싱, 브라우저 위반 증거, 마지막 배포 엣지 재확인을 결합하며 정적 결과를 보안 인증으로 취급하지 않습니다.

작업 가이드

인코딩된 쿼리 매개변수를 이중 디코딩 없이 디버깅하는 방법

콜백, 검색 링크, 웹훅, API 요청이 여러 파서를 거치면서 더하기 기호, 반복 키, JSON 문자열 이스케이프, 중첩 반환 URL을 바꿀 때 사용하는 절차입니다.

작업 가이드

깨진 URL 파라미터 고치기

링크는 열리지만 수신 앱이 값을 잃거나 다르게 읽을 때 사용합니다. URL 전체를 무작정 다시 인코딩하지 않고, 바깥 쿼리 구조와 각 파라미터 값을 분리해 문제 지점을 찾습니다.

작업 가이드

HTTP 응답 헤더 확인하기

브라우저 요청, API 응답, 리디렉션, CDN 캐시가 예상과 다를 때 설정을 먼저 바꾸지 않고 제한이 명확한 비식별 헤더 기록부터 만드는 흐름입니다.

작업 가이드

국제 도메인을 퓨니코드로 변환해 DNS 확인하기

한 곳에서는 국제 도메인이 읽기 쉬운 유니코드로, 다른 곳에서는 xn-- ASCII 라벨로 보일 때 등록 또는 보안 승인과 혼동하지 않고 정확히 비교하는 절차입니다.

작업 가이드

HTML 본문을 GFM Markdown으로 옮기고 게시 전에 검증하는 방법

HTML을 Markdown으로 바꾸면 반복적인 문법 수정을 줄일 수 있지만, 게시 가능한 마이그레이션에는 본문 범위 분리, 신뢰 경계 검토, 자산 이전, 실제 대상 미리보기가 더 필요합니다. 이 절차는 하나의 본문이나 문서 섹션을 변환하고, 제거되거나 보존된 구조를 모두 확인하고, 위험한 링크와 상호작용 컨트롤을 교체하고, 이미지를 옮기고, 실제 게시 렌더러로 최종 파일을 검증합니다.

작업 가이드

실제로 잘 스캔되는 링크 QR 코드 만들기

웹사이트, 양식, 메뉴, 행사 페이지, 고객지원 링크를 종이·포장·PDF·발표 자료에서 휴대폰으로 연결하되 외부 추적 또는 리다이렉트 서비스에 의존하지 않을 때 사용하는 절차입니다.

작업 가이드

출시 전 마지막 응답 보안 헤더 점검하기

curl -I 또는 DevTools 캡처를 반복 가능한 출시 증거로 바꾸는 절차입니다. 마지막 응답을 로컬에서 검사하고 시행 CSP와 Report-Only 관찰을 구분하며, 배포 문맥을 기록한 뒤 헤더만으로 확인할 수 없는 애플리케이션 테스트까지 이어갑니다.

작업 가이드

URL 슬러그를 만들고 기존 링크 보존하기

슬러그 생성기는 일관된 경로 조각 후보를 만들 수 있지만 경로를 소유하거나 공개 주소를 보호하지는 못합니다. 이 절차는 대상 플랫폼과 현재 URL을 기록하고, 명시적인 Unicode 또는 ASCII 규칙을 선택하고, 음역과 인코딩 길이를 검토하고, 실제 네임스페이스에서 중복과 예약어를 확인합니다. 공개 URL을 바꿀 때는 리디렉션, canonical 메타데이터, 내부 참조, sitemap, 모니터링, 롤백을 필수 작업으로 다룹니다.

작업 가이드

API 로그에서 타임스탬프 추출하고 변환하기

필드명과 원본 줄, 정확한 epoch 정밀도, 명시적인 단위 판단을 유지하면서 작고 비식별화된 로그나 payload를 검토 가능한 타임스탬프 행으로 바꾸는 방법입니다.

작업 가이드

바깥 링크를 깨뜨리지 않고 URL 쿼리 값 하나 인코딩하기

쿼리 파라미터 하나의 값 안에 공백, 앰퍼샌드, 등호, 유니코드, + 또는 다른 전체 URL이 들어 있을 때 사용하는 절차입니다.

작업 가이드

이중 인코딩된 쿼리 값 하나를 계층별로 복구하기

callback, webhook, proxy, SDK, 복사한 링크에 `%252F`, `%2520`, `%253A`처럼 퍼센트 기호가 다시 인코딩된 흔적이 있을 때 사용하는 절차입니다.

작업 가이드

Query 순서와 encoding 증거를 잃지 않고 callback URL 디버깅하기

OAuth, SSO, webhook, campaign, application callback이 브라우저에서는 정상처럼 보이지만 수신 system이 다른 path나 parameter 값을 읽을 때 사용하는 절차입니다.

관련 도구

관리 중인 다른 작업 흐름을 이어서 사용해 보세요

모든 도구 둘러보기