URI 템플릿 확장기 (RFC 6570)
RFC 6570 URI 템플릿은 변수로 URL을 만드는 방법을 기술하며, GitHub API, OpenAPI/Swagger 경로 템플릿, 하이퍼미디어(HAL/JSON-LD) 링크 등 도처에 쓰입니다. `https://api.example.com{/version}/users{/id}{?fields*,page}` 같은 템플릿은 변수 집합에 대해 실제 URL로 확장됩니다. 이 도구는 스펙의 네 레벨을 모두 구현합니다 — 단순 `{var}` 확장, 예약(`{+var}`)·프래그먼트(`{#var}`) 연산자, 라벨(`.`)·경로(`/`)·경로형 파라미터(`;`)·폼 쿼리(`?`)·연속(`&`) 연산자 — 여기에 explode(`*`)·prefix(`:n`) 수정자와 빈값·미정의 값의 올바른 처리까지. 변수는 문자열·숫자·리스트·키/값 맵을 값으로 갖는 JSON 객체로 제공하면, 출력은 연산자가 요구하는 대로 정확히 퍼센트 인코딩됩니다. RFC 6570 전체 예제 모음으로 검증되었습니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
확장된 URL
https://api.example.com/v2/users/42?fields=name&fields=email&page=1
RFC 6570 네 레벨 모두 구현: 연산자 + : # . / ; ? & 와 explode(*)·prefix(:n) 수정자.
사용법
- {중괄호}로 URI 템플릿 입력, 예: {/path}{?query*}.
- 변수를 JSON 객체(문자열·숫자·배열·객체)로 제공.
- 확장된 URL을 읽고 복사하세요. 템플릿·변수를 바꾸면 결과가 실시간 갱신됩니다.
자주 묻는 질문
- 연산자의 의미는?
- 중괄호 안 첫 글자가 연산자를 고릅니다: 없음 = 쉼표로 이은 단순 값; `+`는 예약 문자를 이스케이프하지 않음; `#`는 프래그먼트; `.`는 라벨; `/`는 경로 세그먼트; `;`는 `;name=value` 경로형 파라미터; `?`는 폼 쿼리 `?name=value`; `&`는 쿼리 연속. 각각 자체 구분자와 이름 포함 여부를 제어합니다.
- `*`와 `:n`은 무엇을 하나요?
- `*`는 explode 수정자로, 리스트나 맵을 개별 구성요소로 펼칩니다(예: `{?list*}` → `?list=a&list=b`, `?list=a,b` 대신). `:n`은 prefix 수정자로, 인코딩 전 문자열 값을 첫 n글자로 자릅니다(예: `value`의 `{var:3}` → `val`).
- 리스트와 맵은 어떻게 전달하나요?
- JSON을 쓰세요: 리스트는 배열(`"fields": ["name","email"]`), 연관 맵은 객체(`"keys": {"semi": ";"}`)입니다. 문자열·숫자는 스칼라입니다. 없거나 null이거나 빈 리스트·빈 객체인 변수는 미정의로 간주되어 출력에 아무것도 더하지 않습니다.
- 인코딩이 정확한가요?
- 네 — 값은 연산자의 허용 집합에 따라 퍼센트 인코딩됩니다. 단순 및 대부분 연산자는 비예약 집합 밖의 모든 문자를 인코딩하고, `+`와 `#`는 예약 URL 문자(및 기존 %XX 삼중쌍)를 그대로 통과시켜 RFC 6570에 부합합니다. 구현은 스펙의 전체 예제 표를 통과합니다.
관련 도구
IPv6 확장 / 압축
IPv6 주소를 단축형(::1) ↔ 8그룹 완전 표현 전환. 역방향 DNS·바이너리도 함께.
/.well-known/* URI 레퍼런스
IANA 등록 well-known URI 검색 카탈로그 — `security.txt`·`openid-configuration`·`apple-app-site-association`·`acme-challenge` 외 30+개, RFC 레퍼런스·사용 사례 포함.
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
Data URI 파서 및 디코더
data: URI를 디코드해 MIME 타입, 인코딩, 크기, 디코드된 내용을 브라우저에서 확인합니다.
OAuth 2.0 PKCE 생성기
OAuth 2.0 PKCE(RFC 7636)용 code_verifier + S256/plain code_challenge 생성. authorization URL과 토큰 교환 curl까지 자동 작성.
mailto: 링크 빌더
받는사람·참조·숨은참조·제목·본문을 입력해서 RFC 6068 규격으로 퍼센트 인코딩된 mailto: URL을 만듭니다. <a> 태그에 바로 붙여서 쓸 수 있습니다.