URL 파라미터 파서
📋 포맷/변환URL의 쿼리 파라미터(?key=value)를 분리·편집하고 다시 합쳐 줍니다. 개발·마케팅 분석에 편리합니다.
• URL을 입력하고 "파라미터 추출"을 눌러 편집하세요
• 인코딩된 값은 자동으로 디코딩하여 표시합니다
🔗 URL 쿼리 파서란?
URL의 쿼리 파라미터를 한눈에 추출·편집·재조합합니다. 마케팅 URL의 UTM 파라미터 분석, API 쿼리스트링 디버깅, 인코딩된 값의 자동 디코딩까지 한 번에 처리합니다. 편집한 파라미터는 새 URL로 재조합되어 바로 복사해 사용할 수 있습니다.
📋 URL 구조 이해하기
💡 UTM 파라미터 활용
- utm_source — 트래픽 출처 (
google,facebook,newsletter) - utm_medium — 마케팅 매체 (
cpc,email,social) - utm_campaign — 캠페인명 (
spring_sale,launch) - utm_term — 검색 키워드 (유료 검색용)
- utm_content — 콘텐츠 구분 (A/B 테스트용)
🔡 URL 인코딩 대조표
쿼리 값에 들어가면 문제를 일으키는 문자들입니다. 인코딩하지 않으면 파라미터 경계가 잘못 잘려 값이 통째로 사라지거나 엉뚱하게 나뉩니다.
| 문자 | 인코딩 | 인코딩하지 않으면 |
|---|---|---|
| (공백) | %20 또는 + | URL이 잘려 인식됨 |
| & | %26 | 새 파라미터 시작으로 오인 |
| = | %3D | 키와 값 구분자로 오인 |
| ? | %3F | 쿼리 시작으로 오인 |
| # | %23 | 이후 전부 해시로 처리되어 서버에 전달 안 됨 |
| + | %2B | 공백으로 해석됨 |
| 가 | %EA%B0%80 | 환경에 따라 깨짐 |
한글은 UTF-8 기준으로 한 글자가 3바이트라 %XX가 세 개씩 붙습니다. 검색어를 URL에 담을 때 유독 길어지는 이유입니다.
🐛 쿼리스트링에서 자주 겪는 문제
- URL 안에 URL을 넣을 때 — 리다이렉트 주소를
?redirect=https://...처럼 그대로 넣으면 그 안의&가 파라미터 구분자로 잘립니다. 반드시 인코딩해야 합니다. - 이중 인코딩 — 이미 인코딩된 값을 또 인코딩하면
%25EA%25B0%2580처럼%가%25로 변해 원본을 잃습니다. - 공백을 + 로 쓸지 %20으로 쓸지 — 폼 전송에서는
+가 공백을 뜻하지만, 경로 부분에서는 그냥 플러스 기호입니다. 안전하게 하려면%20을 쓰세요. - URL 길이 제한 — 명확한 표준은 없지만 브라우저·서버·프록시마다 상한이 달라, 아주 긴 데이터는 쿼리 대신 POST 본문으로 보내는 편이 안전합니다.
- 민감 정보 노출 — 쿼리스트링은 브라우저 기록·서버 로그·리퍼러 헤더에 그대로 남습니다. 토큰이나 개인정보를 담지 마세요.
💡 실무 팁
UTM은 모두 소문자로 통일하세요. Google과 google은 GA에서 서로 다른 소스로 잡혀 리포트가 쪼개집니다.
자주 묻는 질문
URL 인코딩이란 무엇인가요?▼
URL에서 특수문자나 한글을 표현하기 위해 %XX 형식으로 변환하는 것입니다. 예: 공백은 %20, 한글 "가"는 %EA%B0%80으로 인코딩됩니다.
여러 개의 같은 키가 있으면 어떻게 되나요?▼
URL 표준에서는 같은 키를 여러 번 사용할 수 있습니다(예: ?color=red&color=blue). 이 도구는 각각을 개별 파라미터로 표시합니다.
해시(#) 이후의 내용도 서버로 전송되나요?▼
아니요, 해시 프래그먼트는 브라우저에서만 사용되며 서버로 전송되지 않습니다. 페이지 내 특정 위치로 스크롤하거나 SPA 라우팅에 사용됩니다.
URL 안에 다른 URL을 넣으려면 어떻게 하나요?▼
반드시 인코딩해야 합니다. redirect=https://a.com?x=1&y=2 처럼 그대로 넣으면 &부터 별도 파라미터로 잘립니다. 값 전체를 URL 인코딩하면 하나의 값으로 안전하게 전달됩니다.
%25가 잔뜩 붙은 URL은 왜 그런가요?▼
이중 인코딩된 상태입니다. %가 다시 %25로 인코딩되면서 생깁니다. 한 번 디코딩한 뒤 원본이 나오는지 확인하고, 인코딩은 한 번만 적용하도록 코드를 점검하세요.
쿼리스트링에 토큰을 담아도 되나요?▼
권장하지 않습니다. 브라우저 방문 기록, 서버 접근 로그, 외부 사이트로 전달되는 리퍼러 헤더에 그대로 남습니다. 인증 정보는 헤더나 POST 본문으로 전달하세요.