URL 쿼리는 ? 뒤에 '이름=값'을 &로 이은 부분입니다
주소에서 ? 다음부터 # 앞까지가 쿼리입니다. https://shop.example.com/products?color=white&size=270에서 쿼리는 color=white&size=270이고, &로 나뉜 두 항목에 이름 color·size와 값 white·270이 들어 있습니다. 쿼리는 검색어, 쪽 번호, 필터 조건, 광고 추적 값처럼 같은 페이지에 덧붙이는 정보를 서버나 스크립트에 넘깁니다. 이름과 값에 어떤 뜻을 줄지는 사이트마다 따로 정합니다.
이 도구는 붙여 넣은 주소의 쿼리를 이름·값 표로 풀고, 표를 고치면 주소를 바로 다시 만듭니다. 한글과 기호는 읽을 수 있는 글자로 풀어 보여 주고, 손대지 않은 항목은 원래 표기를 그대로 둡니다. 광고·분석 회사가 붙이는 추적 매개변수는 공식 문서로 확인한 이름만 골라 표시하며 한 번에 뺄 수 있습니다. 같은 이름이 여러 번 나올 때 PHP·Python·Java 같은 서버가 어떤 값을 읽는지도 함께 보여 줍니다. 입력한 주소는 브라우저 밖으로 나가지 않습니다.
쿼리를 표로 풀어 봐야 하는 상황
- 링크를 공유하기 전에: 광고나 메일에서 받은 링크에는
utm_source·gclid·fbclid같은 추적 값이 길게 붙습니다. 빼고 공유하면 주소가 짧아지고, 광고 클릭 한 번이나 메일 받는 사람 한 명을 가리키는 ID가 다른 사람의 방문에 다시 쓰이지 않습니다. - 캠페인 링크를 만들거나 점검할 때: utm_source·utm_medium·utm_campaign의 철자와 값이 맞는지, 같은 이름이 두 번 들어가지 않았는지 표에서 바로 보입니다. '+ UTM'을 누르면 세 항목이 빈칸으로 들어갑니다.
- API 요청 주소를 확인할 때: 값 하나만 바꿔 다시 요청하거나, 빈 값과 등호 없는 항목이 어떻게 전달되는지 확인합니다. 결과를 JSON으로도 복사할 수 있습니다.
- 로그인·결제 뒤 돌아갈 주소를 고칠 때:
redirect_uri나next값에 든 주소는 한 번 더 인코딩돼 있어 읽기 어렵습니다. '표로 열기'로 안쪽 주소를 따로 고친 뒤 바깥 주소에 다시 넣습니다. - 필터 값이 서버에 제대로 가는지 볼 때:
color=white&color=black을 PHP는 마지막 값 하나로, Python은 두 값 목록으로 읽습니다. 서버가 실제로 받는 값을 미리 비교할 수 있습니다. - 접속 기록에 남은 주소를 읽을 때: 서버 로그와 분석 도구에는 검색어와 필터가 인코딩된 채 남습니다. 항목별로 한글로 풀어 봅니다.
쓰는 법
- 붙여 넣기: '원래 주소' 칸에 전체 주소(
https://…),?로 시작하는 쿼리,name=kim&page=2같은 쿼리만 넣을 수 있습니다. 쿼리는 이름·값 표로 나뉘고, 주소 앞부분과#뒤 조각은 따로 칸을 둡니다. - 추적 빼기: 길이 띠에서 줄무늬 칸은 클릭·식별 ID, 연한 주황 칸은 캠페인 태그입니다. '클릭 ID 빼기'는 gclid·fbclid 같은 ID만, '추적 전부 빼기'는 UTM 같은 캠페인 태그까지 뺍니다. 뺀 뒤 '되돌리기'로 바로 되살릴 수 있습니다.
- 표 고치기: 값 칸에는 인코딩하지 않은 글자를 그대로 씁니다. Enter를 누르면 다음 칸으로 넘어가고, 마지막 줄에서는 새 항목이 생깁니다(값 안 줄바꿈은 Shift+Enter). ×로 항목을 빼고, '이름순'으로 정렬하고, '원래대로'로 처음 상태로 돌립니다.
- 값 속 주소 열기: 값이 주소이면 표시 열에 '표로 열기'가 나옵니다. 안쪽 주소를 같은 방법으로 고친 뒤 '바깥 주소로'를 누르면 바깥 항목의 값에 들어갑니다.
- 복사: 다시 만든 주소를 전체 주소·쿼리만·JSON 가운데 골라 복사합니다. 고친 항목에는 밑줄이 그어집니다. 고친 항목의 공백을
+로 쓸지%20으로 쓸지, 손대지 않은 항목의 원래 표기를 지킬지도 고릅니다. - 서버가 읽는 값 보기: 표에서 항목을 누르면, 그 이름을 여덟 가지 환경이 어떻게 읽는지 아래 카드에 나옵니다. 카드 왼쪽 색이 읽는 방식(첫 값·마지막 값·목록·쉼표로 이음·버림)입니다.
쿼리를 나누는 기호
URL 표준(WHATWG)의 쿼리 해석 규칙(application/x-www-form-urlencoded)은 쿼리를 &로 자르고, 조각마다 첫 =에서 이름과 값을 가른 뒤, +를 공백으로 바꾸고 %XX를 바이트로 되돌려 UTF-8로 읽습니다. 브라우저의 URLSearchParams가 이 규칙을 그대로 따르고, 이 도구도 같은 규칙으로 표를 만듭니다.
| 기호 | 하는 일 | 예 | 표에서 보이는 값 |
|---|---|---|---|
? | 쿼리의 시작. 주소의 첫 ? 다음부터입니다. 쿼리 안의 ?는 보통 글자입니다 | /search?q=a?b | q → a?b |
& | 항목 사이의 경계 | a=1&b=2 | a → 1, b → 2 |
= | 이름과 값의 경계. 첫 = 하나만 씁니다 | a=1=2 | a → 1=2 |
# | 쿼리의 끝이자 조각의 시작. 조각은 서버로 보내지 않습니다 | ?q=a#top | q → a, 조각 top |
+ | 공백 | q=red+shoe | q → red shoe |
%XX | 바이트 하나(16진수 두 자리) | k=%ED%95%9C | k → 한 |
; | 구분 기호가 아님 | z=1;w=2 | z → 1;w=2 |
등호가 없는 flag는 값이 빈 항목으로 읽혀 flag=와 같아지고, &&처럼 빈 조각은 건너뜁니다. HTML 4.01 명세는 서버가 & 대신 ;도 받아 주라고 권했지만, 지금의 URL 표준과 Python의 parse_qs는 &만 구분 기호로 씁니다. Go는 ;가 든 쌍을 잘못된 쌍으로 보고 버립니다.
이름과 값을 읽는 규칙
| 쿼리 원문 | 표에 보이는 값 | 까닭 |
|---|---|---|
q=red+shoe | red shoe | +는 공백입니다 |
lang=C%2B%2B | C++ | 글자 그대로의 더하기는 %2B로 적습니다 |
lang=C++ | C 뒤에 공백 두 칸 | 두 +가 모두 공백으로 읽힙니다 |
p=100% | 100% | 뒤에 16진수 두 자리가 없는 %는 글자로 남습니다(표시 열에 '잘못된 %') |
b=%2526 | %26 | 한 번만 풉니다. 두 번 인코딩된 값이면 한 겹이 남습니다 |
e=%C7%D1 | �� | EUC-KR로 적은 '한'이라 UTF-8로 읽히지 않습니다(표시 열에 'UTF-8 아님') |
flag | (빈 값) | 등호가 없으면 값이 빈 항목입니다(표시 열에 '= 없음') |
UTF-8이 아닌 옛 인코딩으로 만든 값은 표에서 깨져 보입니다. 그 항목을 고치지 않으면 '원래 표기 유지'가 원래 바이트를 그대로 남기므로 다시 만든 주소도 원래처럼 열립니다. 깨진 값의 글자를 확인하려면 URL 인코더·디코더의 글자 인코딩 자동 판별을 씁니다.
추적 매개변수: 무엇을 빼도 되나
추적 매개변수는 페이지 내용과 상관없이, 방문자가 어느 광고·메일·캠페인에서 왔는지 알리려고 붙이는 항목입니다. 빼도 대부분 같은 페이지가 열리지만, 사이트 운영자는 그 방문의 유입 경로를 알 수 없게 됩니다. 이 도구는 회사 공식 문서에서 확인한 이름만 표시하고 두 갈래로 나눕니다.
- 클릭·식별 ID(띠의 줄무늬 칸): 광고 클릭 한 번, 메일 받는 사람 한 명, 방문 한 번을 가리키는 값입니다. 다른 사람에게 넘길 이유가 없으니 공유 전에 빼는 편이 좋습니다.
- 캠페인 태그(연한 칸): 어떤 출처·매체·캠페인인지 적은 이름표입니다. 직접 만든 캠페인 링크라면 남기고, 남의 링크를 옮길 때는 빼도 됩니다.
| 이름 | 붙이는 곳 | 뜻 | 갈래 |
|---|---|---|---|
utm_source utm_medium utm_campaign utm_term utm_content | 링크를 만드는 광고주(Google 애널리틱스가 읽음) | 출처·매체·캠페인·키워드·광고 소재 | 캠페인 태그 |
utm_id utm_source_platform utm_creative_format utm_marketing_tactic | 광고주(구매 플랫폼은 일부 Google 플랫폼이 자동으로) | 캠페인 ID·구매 플랫폼·소재 형식·타기팅 방식 | 캠페인 태그 |
gclid gbraid wbraid | Google Ads 자동 태그 | 광고 클릭 ID(gbraid·wbraid는 iOS 전환 측정용) | 클릭·식별 ID |
gad_source gad_campaignid | Google Ads | 광고 출처와 클릭을 만든 캠페인 번호 | 캠페인 태그 |
dclid | Campaign Manager 360·Display & Video 360 | 디스플레이 광고 클릭 ID | 클릭·식별 ID |
srsltid | Google 판매자 센터 자동 태그 | Google 쇼핑 무료 목록에서 들어온 방문을 가리키는 값 | 클릭·식별 ID |
_gl | Google 태그(교차 도메인 측정) | 다른 도메인으로 넘어갈 때 방문 정보를 잇는 연결 값 | 클릭·식별 ID |
fbclid | Meta | Facebook·Instagram 링크 클릭 ID | 클릭·식별 ID |
msclkid | Microsoft Advertising 자동 태그 | 광고 클릭 ID | 클릭·식별 ID |
ttclid twclid li_fat_id | TikTok · X · LinkedIn | 각 회사의 광고 클릭 ID | 클릭·식별 ID |
mc_eid | Mailchimp(전자상거래 추적을 켠 캠페인) | 메일 받는 사람 ID | 클릭·식별 ID |
mc_cid | Mailchimp | 링크를 만든 메일 캠페인 ID | 캠페인 태그 |
_hsenc _hsmi | HubSpot 메일 | 받는 사람 식별·메일 클릭 추적 | 클릭·식별 ID |
yclid | Yandex Direct | 광고 클릭 ID | 클릭·식별 ID |
mtm_campaign pk_campaign 등 | Matomo 분석 | 캠페인 이름·키워드·출처 이름표 | 캠페인 태그 |
NaPm | 네이버 광고 | 광고를 누를 때 붙어 전환 추적에 쓰이는 값 | 클릭·식별 ID |
YouTube 공유 링크의 si, Instagram 공유 링크의 igsh처럼 공식 설명을 찾을 수 없는 값은 목록에 넣지 않았습니다. 뜻을 알고 빼려면 표에서 ×를 누릅니다. ref·source·from처럼 이름만 비슷한 항목은 사이트가 페이지 내용에 쓰는 경우도 있어 건드리지 않습니다.
같은 이름이 여러 번 나오면 서버마다 다르게 읽습니다
tag=red&tag=blue처럼 이름이 겹치면 URL 표준은 두 항목을 순서대로 모두 남깁니다. 그다음 어느 값을 쓸지는 받는 쪽 언어·프레임워크가 정하는데, 그 방식이 제각각입니다. 쇼핑몰 필터처럼 여러 값을 일부러 겹쳐 보내는 곳이 많아서, 서버가 값 하나만 읽으면 고른 조건 일부가 사라집니다.
| 환경 | 읽는 코드 | 결과 | 읽는 방식 |
|---|---|---|---|
| JavaScript | new URLSearchParams(q).get('tag') | "red" | 첫 값(getAll은 둘 다) |
| PHP | $_GET['tag'] | "blue" | 마지막 값 |
| Python | parse_qs(q)['tag'] | ["red", "blue"] | 전부 목록으로 |
| Django | request.GET['tag'] | "blue" | 마지막 값(getlist는 둘 다) |
| Node · Express 5 | req.query.tag | ["red", "blue"] | 전부 목록으로(기본 파서 querystring) |
| Java Servlet | request.getParameter("tag") | "red" | 첫 값(getParameterValues는 둘 다) |
| Go | r.URL.Query().Get("tag") | "red" | 첫 값 |
| ASP.NET Core | Request.Query["tag"] | "red,blue" | 글자로 바꾸면 쉼표로 이음 |
PHP는 이름에 대괄호를 붙인 tag[]=red&tag[]=blue를 배열로 읽고, 이름 속 점과 공백은 밑줄로 바꿉니다. 그래서 price.min=10000은 $_GET['price_min']이 되어, 따로 있는 price_min 항목과 겹칠 수 있습니다. Python의 parse_qs는 기본값에서 빈 값을 버려 flag나 empty=는 키조차 남지 않습니다. 남기려면 keep_blank_values=True를 줍니다. Go는 ;나 잘못된 %가 든 쌍을 버립니다. 도구 아래쪽 '서버가 읽는 값'은 고른 항목으로 이 차이를 바로 계산합니다.
값 안에 다른 주소를 넣을 때
로그인 뒤 돌아갈 주소(redirect_uri·next·returnUrl)처럼 주소 전체를 값으로 넣을 때는, 안쪽 주소의 ? & = #가 바깥 쿼리의 기호로 읽히지 않게 모두 인코딩해야 합니다. 인코딩하지 않고 붙이면 안쪽 주소의 & 뒤가 바깥 주소의 다른 항목으로 갈라집니다.
| 넣는 방법 | 바깥 주소가 읽는 항목 |
|---|---|
그대로 붙임?next=https://shop.example.com/cart?item=12&size=L | next → https://shop.example.com/cart?item=12 size → L (갈라짐) |
인코딩해서 넣음?next=https%3A%2F%2Fshop.example.com%2Fcart%3Fitem%3D12%26size%3DL | next → https://shop.example.com/cart?item=12&size=L |
안쪽 주소에도 인코딩된 값이 있으면 한 번 더 인코딩되어 %252F처럼 보입니다. '표로 열기'는 바깥 값을 한 겹만 푼 안쪽 주소를 따로 표로 보여 주고, 안쪽을 고친 뒤 '바깥 주소로'를 누르면 다시 인코딩해 넣습니다. 예시 '로그인 이동'의 redirect_uri 안에는 next=%2Fcart가 한 겹 더 들어 있습니다.
다시 만들 때 달라지는 표기
쿼리는 같은 내용을 여러 표기로 적을 수 있습니다. 공백은 +이든 %20이든, flag와 flag=, 16진수 대문자 %EA와 소문자 %ea가 모두 같은 값으로 읽힙니다. 대부분의 서버는 이 차이를 가리지 않지만, 서명된 주소는 서명할 때와 다르게 적히면 서버에 따라 서명이 맞지 않을 수 있습니다. 그래서 이 도구는 '원래 표기 유지'를 기본으로 켜 두고 고친 항목만 다시 인코딩합니다.
| 원래 항목 | 원래 표기 유지 | 유지 끔 · 공백 + | 유지 끔 · 공백 %20 |
|---|---|---|---|
q=red%20shoe | q=red%20shoe | q=red+shoe | q=red%20shoe |
flag | flag | flag= | flag= |
n=%ea%b9%80 | n=%ea%b9%80 | n=%EA%B9%80 | n=%EA%B9%80 |
t=~tilde | t=~tilde | t=%7Etilde | t=~tilde |
a=x;y | a=x;y | a=x%3By | a=x%3By |
공백 + 규칙은 HTML 폼 전송과 URLSearchParams의 방식이고, %20 규칙은 JavaScript encodeURIComponent()의 방식입니다. 브라우저의 URLSearchParams는 항목 하나만 지워도 나머지를 모두 다시 써서 %20이 +로 바뀝니다(아래 코드). AWS S3 미리 서명된 주소(X-Amz-Signature)나 Azure 저장소 SAS(sig)처럼 서명이 붙은 주소는 값을 고치지 말고 서명을 새로 받아야 합니다. 이 도구는 서명 항목이 있는 주소를 고치면 경고합니다.
코드로 할 때
// JavaScript
const u = new URL('https://shop.example.com/p?color=white&color=black&q=red%20shoe&utm_source=naver');
u.searchParams.getAll('color'); // ['white', 'black']
u.searchParams.delete('utm_source');
u.toString(); // 'https://shop.example.com/p?color=white&color=black&q=red+shoe' (%20이 +로 바뀜)
# Python
from urllib.parse import urlsplit, parse_qsl, urlencode, urlunsplit
s = urlsplit('https://shop.example.com/p?color=white&color=black&flag&utm_source=naver')
pairs = [(k, v) for k, v in parse_qsl(s.query, keep_blank_values=True) if not k.startswith('utm_')]
urlunsplit(s._replace(query=urlencode(pairs)))
# 'https://shop.example.com/p?color=white&color=black&flag=' (flag가 flag=로 바뀜)
// PHP
parse_str('tag=red&tag=blue&size[]=S&size[]=M&price.min=10000', $q);
// $q = ['tag' => 'blue', 'size' => ['S', 'M'], 'price_min' => '10000']
http_build_query(['tag' => ['red', 'blue']]);
// 'tag%5B0%5D=red&tag%5B1%5D=blue'
세 언어 모두 해석한 뒤 다시 쓰는 방식이라 원래 표기를 지키지 않습니다. 원래 표기가 중요하면 쿼리 문자열에서 해당 조각만 잘라 내고 이어 붙여야 합니다. 이 도구의 '원래 표기 유지'가 그렇게 동작합니다.
자주 틀리는 경우
- 값 칸에 %20을 직접 쓰기: 표의 값은 풀린 글자입니다.
%20을 쓰면 글자 %·2·0으로 보고%2520으로 내보냅니다. 공백은 공백으로 씁니다. - C++를 쿼리에 그대로 붙이기:
lang=C++는 'C'와 공백 두 칸으로 읽힙니다. 표의 값 칸에 C++를 쓰면C%2B%2B로 바꿔 내보냅니다. - 같은 이름을 오류로 보고 지우기:
color=white&color=black은 여러 값을 고른 필터일 수 있습니다. 서버가 어떻게 읽는지 먼저 확인합니다. - 빈 값 항목 지우기:
empty=나flag도 뜻이 있을 수 있습니다. 값이 없어도 항목이 있다는 것만으로 기능을 켜는 서버가 있습니다. - # 뒤를 쿼리로 보기:
/page#tab?x=1의x=1은 조각의 일부라서 서버로 가지 않고, 이 도구도 조각 칸에 둡니다. - 주소를 값으로 넣으며 인코딩을 빼먹기: 안쪽 주소의
&가 바깥 항목을 둘로 가릅니다. - 서명된 주소의 만료 시간만 늘리기:
X-Amz-Expires를 바꾸면 서명이 맞지 않아 요청이 거부됩니다.
한계
- 쿼리를
&로만 나누는 URL 표준 방식을 씁니다.;나,로 항목을 나누는 사이트, 경로 안의 매개변수(/a;b=1/)는 나누지 않습니다. - 값은 UTF-8로만 풀어 보여 줍니다. EUC-KR 같은 옛 인코딩 값은 깨져 보이며, 그 항목을 고치면 UTF-8로 다시 인코딩합니다.
- 주소 앞부분(스킴·호스트·경로)과
#조각은 적힌 글자 그대로 다루며 인코딩하거나 정리하지 않습니다. - '원래 표기 유지'에서도 항목을 하나라도 바꾸면 빈 조각(
&&)과 끝의&는 빠집니다. - 추적 매개변수는 공식 문서로 확인한 이름만 표시합니다. 목록에 없는 추적 값은 직접 지워야 합니다.
- 서버가 읽는 값은 각 환경의 기본 동작입니다. 설정을 바꾸거나 다른 파서(qs·Rack 등)를 쓰면 달라지며, PHP의 max_input_vars 같은 설정 한도는 반영하지 않습니다.
- 주소에 접속하지 않으므로 그 주소가 열리는지, 안전한지는 확인하지 않습니다.
기준: 쿼리 해석은 URL 표준(WHATWG)의 application/x-www-form-urlencoded 규칙, 추적 매개변수는 각 회사 공식 도움말, 서버별 동작은 PHP 8.5·Python 3.14·Node.js 26 실행 결과와 Java Servlet·Go·ASP.NET Core·Django·Express 5 공식 문서로 2026년 10월 22일에 확인했습니다.
출처
- 01WHATWG URL Standard: application/x-www-form-urlencoded&로 자르기, 첫 =, + → 공백, 퍼센트 풀기와 직렬화
- 02MDN: URLSearchParamsget·getAll·delete·toString
- 03Google 애널리틱스 도움말: 맞춤 URL로 캠페인 데이터 수집utm 매개변수 9개의 뜻
- 04Google Ads 도움말: Google 클릭 ID(GCLID)자동 태그가 광고 클릭마다 붙이는 값
- 05Google Ads 도움말: gbraid·wbraidiOS 전환 측정용 매개변수
- 06Google Ads 도움말: gad_source·gad_campaignid광고 출처와 캠페인 번호
- 07Google 태그: 교차 도메인 측정연결 매개변수 _gl
- 08Meta: fbp·fbc 매개변수링크에 붙는 클릭 ID(fbclid)
- 09광고·메일 회사 문서: dclid · srsltid · Microsoft 클릭 ID · ttclid · twclid · li_fat_id · mc_cid·mc_eid · _hsenc·_hsmi · yclid · Matomo · NaPm각 매개변수를 붙이는 회사의 공식 설명
- 10PHP: Variables From External Sources이름 속 점과 공백을 밑줄로 바꾸는 규칙, [] 배열
- 11Python: urllib.parse.parse_qskeep_blank_values 기본값 False, &만 구분 기호
- 12Django: QueryDict__getitem__은 마지막 값, getlist는 전부
- 13Express 5: app settings (query parser)기본값 "simple" = Node querystring
- 14Java EE: ServletRequest.getParameter여러 값이면 getParameterValues의 첫 값
- 15Go: net/urlValues.Get은 첫 값, ;가 든 쌍은 잘못된 쌍
- 16.NET: StringValues.ToString여러 값을 쉼표로 이은 글자
- 17HTML 4.01 부록 B.2.2& 대신 ;를 받아 주라는 옛 권고
자주 묻는 질문
URL 쿼리(쿼리 문자열)는 무엇인가요?
주소에서 ? 다음부터 # 앞까지의 부분입니다. color=white&size=270처럼 이름=값을 &로 이어 적고, 검색어·쪽 번호·필터·추적 값처럼 페이지에 덧붙이는 정보를 서버에 넘깁니다. 각 이름에 어떤 뜻을 줄지는 사이트마다 따로 정합니다.
물음표 없이 name=kim&page=2만 넣어도 되나요?
네. 전체 주소, ?로 시작하는 쿼리, 물음표 없는 쿼리를 모두 받습니다. 전체 주소를 넣으면 주소 앞부분과 # 조각을 따로 칸에 두고, 다시 만든 전체 주소와 쿼리만을 골라 복사할 수 있습니다.
추적 매개변수를 빼도 페이지가 똑같이 열리나요?
대부분 같은 페이지가 열립니다. utm이나 gclid 같은 값은 어디서 왔는지 집계하는 데 쓰이기 때문입니다. 다만 유입 경로에 따라 다른 안내나 쿠폰을 보여 주는 사이트도 있으니, 뺀 주소에서 화면이 다르면 원래 주소를 쓰세요. 클릭 ID만 빼고 UTM은 남길 수도 있습니다.
tag=red&tag=blue처럼 같은 이름이 두 번 나오면 어떤 값이 쓰이나요?
받는 서버에 따라 다릅니다. PHP와 Django는 마지막 값 blue, JavaScript의 get()·Java Servlet·Go는 첫 값 red, Python parse_qs와 Express 5는 두 값을 목록으로, ASP.NET Core는 red,blue처럼 쉼표로 이어 읽습니다. 표에서 항목을 누르면 도구 아래쪽에서 바로 비교됩니다.
q=red+shoe의 더하기 기호가 왜 공백으로 보이나요?
쿼리를 읽는 폼 규칙에서 +는 공백을 뜻하기 때문입니다. 글자 그대로의 더하기는 %2B로 적어야 하고, 표의 값 칸에 C++를 쓰면 다시 만든 주소에는 C%2B%2B로 나갑니다.
표를 고쳤더니 %20이 +로 바뀌었어요. 같은 값인가요?
쿼리를 읽을 때 %20과 +는 모두 공백이라 같은 값입니다. 이 도구는 '원래 표기 유지'가 켜져 있으면 손대지 않은 항목은 원래 글자 그대로 두고, 고친 항목만 고른 규칙(+ 또는 %20)으로 인코딩합니다. 서명된 주소처럼 글자까지 맞아야 하는 곳은 서명을 새로 받아야 합니다.
값 안에 든 주소는 어떻게 고치나요?
redirect_uri나 next처럼 값이 주소이면 표시 열에 '표로 열기'가 나옵니다. 누르면 안쪽 주소가 따로 표로 열리고, 고친 뒤 '바깥 주소로'를 누르면 안쪽 주소를 다시 인코딩해 바깥 항목의 값에 넣습니다.
입력한 주소가 서버로 전송되거나 저장되나요?
아닙니다. 표 나누기·다시 만들기·추적 값 표시·서버별 해석은 모두 이 브라우저 안에서 계산합니다. 입력한 주소를 서버로 보내거나 저장하지 않고 페이지 주소에도 남기지 않으며, 그 주소에 접속하지도 않습니다.