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에 부합합니다. 구현은 스펙의 전체 예제 표를 통과합니다.
관련 도구
MAC 주소 포맷 변환기
MAC 주소를 콜론·하이픈·Cisco 점·무구분 표기로, 대문자 또는 소문자로 변환하고 유니/멀티캐스트와 전역/로컬 유형을 보여줍니다.
IPv4 주소 변환기
IPv4 주소를 점 표기 10진수·32비트 정수·16진수·2진수로 변환하고, 사설·공인·루프백 등 주소 유형까지 확인합니다.
DNS 레코드 참조
DNS 레코드 타입 검색 가능한 치트시트 — A·AAAA·CNAME·MX·TXT·NS·SOA·PTR·SRV·CAA·DNSSEC·SVCB / HTTPS — 예시 포함.
서브넷 계산기 (IPv4 / CIDR)
IPv4 CIDR을 네트워크 주소·브로드캐스트·넷마스크·와일드카드·호스트 범위·클래스로 파싱. 이진 분석과 사설/공인 상태 표시.
User Agent 파서
User-Agent 문자열을 브라우저·엔진·OS·디바이스·CPU로 파싱. GPTBot·ClaudeBot·PerplexityBot 포함 20+ 봇 감지.
HTTP 상태 코드 레퍼런스
1xx-5xx 모든 HTTP 상태 코드 검색 — 요약·RFC·사용 시점·흔한 함정 포함.