본문으로 건너뛰기

URL 분석·쿼리 편집

URL Parser & Query Editor

URL을 구성 요소로 나누고 쿼리 파라미터를 편집 가능한 표로 보여 준 뒤 다시 조립합니다.

URL을 부분으로 나누고, 쿼리 문자열을 편집 가능한 표로 바꾸고, 고칠 때마다 주소를 다시 만듭니다. 뒤쪽 절반이 사람들이 필요한 줄 모르는 부분입니다. 파서가 조용히 바꾼 것을 알려 주는데, "curl에서는 되는데 브라우저에서는 안 된다"의 답이 대개 거기 있습니다.

🔒 브라우저 안에서만 처리urlparsequerydebug

호스트만 넣어도 됩니다. https://를 붙였다고 가정하고, 그 사실은 아래에 표시합니다.

프로토콜

https:

호스트

example.com

포트

(기본값)

오리진

https://example.com

경로

/products/42

프래그먼트

#reviews

경로 조각

  1. products
  2. 42

쿼리 파라미터 (4개, 추적용 2개)

  • Google Analytics campaign source
  • Google Analytics campaign medium
  • 원문: price+desc

정규화된 URL

https://example.com/products/42?utm_source=newsletter&utm_medium=email&id=42&sort=price%20desc#reviews

인코딩과 디코딩
  • 질의 문자열 값

    a%20b%2Fc%2Bd%26e%3Df

    encodeURIComponent가 남겨 두는 !'()* 까지 포함해 예약 문자를 모두 이스케이프합니다. 공백은 %20입니다.

  • 폼 본문(application/x-www-form-urlencoded)

    a+b%2Fc%2Bd%26e%3Df

    같은 규칙이지만 공백이 +가 됩니다. 그래서 값에 들어가는 +는 %2B로 보내야 합니다.

  • 경로 구간

    a%20b%2Fc%2Bd%26e%3Df

    슬래시는 이스케이프하지 않으면 경로가 나뉩니다. 여기서 +는 공백이 아니라 그냥 더하기 기호입니다.

  • 프래그먼트(#…)

    a%20b/c+d&e=f

    URL에서 가장 관대한 부분입니다. ? / : @ 등이 이스케이프 없이 그대로 쓰일 수 있습니다.

  • 주소 전체(encodeURI)

    a%20b/c+d&e=f

    구조를 이루는 문자는 그대로 둡니다. 입력이 정말로 주소 전체일 때만 올바른 방식입니다.

URL은 이 페이지에서 해석할 뿐 요청하지 않습니다. 가져오지도, 리다이렉트를 따라가지도 않으므로 세션 토큰이나 서명된 링크가 담긴 주소도 이 탭에 남습니다.

사용 방법

  1. URL을 붙여 넣습니다

    호스트만 넣으면 https://를 붙였다고 가정하고, 그 가정을 감추지 않고 표시합니다. data: URL은 파싱 대신 내용을 설명해 줍니다.

  2. 쿼리를 행 단위로 고칩니다

    추적 파라미터 열다섯 개는 한 줄로는 못 읽고 열다섯 행으로는 한눈에 보입니다. 추적용에는 이름표가 붙고, 버튼 하나로 한 번에 지웁니다.

  3. 파서가 바꾼 것을 읽습니다

    소문자로 바뀐 호스트, 퓨니코드로 바뀐 국제화 이름, 정리돼 사라진 .. 구간. 전부 조용히 일어나고 붙여 넣은 주소에는 보이지 않으며, 같은 문자열이 두 클라이언트에서 다르게 동작하게 만들기에 충분합니다.

  4. 서명이 안 맞을 때는 인코딩 패널을 씁니다

    같은 문자열을 모든 인코딩 규칙으로 한 번에 보여 줍니다. 쿼리 값의 더하기 기호와 경로 조각의 더하기 기호는 인코딩 방식이 다르고, 나란히 놓고 봐야 그것이 보입니다.

자주 묻는 질문

URL을 가져오나요?

아니요. 페이지 안에서 해석할 뿐 요청하지 않습니다. 가져오지도, 리다이렉트를 따라가지도 않습니다. 세션 토큰이나 서명된 링크가 담긴 주소도 이 탭에 남습니다.

utm_ 파라미터를 빼도 되나요?

도착 페이지 입장에서는 괜찮습니다. 분석 도구가 읽는 값이지 애플리케이션이 읽는 값이 아닙니다. 예외는 파라미터에 서명이 걸려 있거나 페이지가 실제로 필요로 하는 식별자가 있는 링크이니, 공유 전에 남은 것을 확인하세요.

"2중 인코딩"은 무슨 뜻인가요?

값이 각자 친절하게 퍼센트 인코딩하는 시스템 두 곳을 지났다는 뜻입니다. %2520은 공백이 %20이 되고 그 %가 다시 인코딩된 결과입니다. 리다이렉트 대상 주소가 망가져 도착하는 흔한 원인입니다.

대문자 호스트가 왜 소문자가 되나요?

호스트 이름은 대소문자를 가리지 않고 URL 표준이 소문자로 정규화합니다. 경로는 다릅니다. /Page와 /page는 서로 다른 자원이고, 그래서 주소의 한쪽만 바뀝니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.