인코드 | 디코드 | 압축

> base64url | jwt | url-safe <

// Base64url - URL 및 파일 이름에 안전한 패딩 없는 Base64 변형

[URL-SAFE]

URL 호환

특수 URL 문자가 없어 쿼리 매개변수와 경로에 안전합니다.

[JWT]

JWT 표준

JSON Web Token 및 OAuth 2.0 사양에서 사용됩니다.

[NO-PADDING]

선택적 패딩

패딩 문자 (=)를 생략해 더 깔끔한 URL 을 만들 수 있습니다.

>> 기술 정보

Base64url 동작 방식:

Base64url 은 Base64 의 한 변형으로, "+" 를 "-", "/" 를 "_" 로 바꾸어 URL 과 파일 이름에서도 안전하게 사용할 수 있습니다. 패딩 문자 "=" 는 URL 에서 문제를 일으킬 수 있어 종종 생략됩니다.

비교:

Base64: SGVsbG8+Pw== Base64url: SGVsbG8-Pw

Base64url 을 사용하는 이유:

  • >JWT 토큰
  • >OAuth 2.0 플로우
  • >URL 쿼리 매개변수
  • >파일 이름 인코딩
  • >웹 API 서명

>> 자주 묻는 질문

Base64url 이란 무엇인가요?

Base64url 은 URL 및 파일 이름에서 안전하게 사용할 수 있는 Base64 인코딩 변형입니다. "+" 를 "-", "/" 를 "_" 로 바꾸고 필요에 따라 패딩 문자 "=" 를 제거해 URL 인코딩 문제를 피합니다.

왜 일반 Base64 를 URL 에 사용하지 않나요?

일반 Base64 는 "+", "/", "=" 문자를 사용하며, 이들은 URL 에서 특별한 의미를 가집니다. "+" 는 공백으로 해석될 수 있고, "/" 는 경로 구분자, "=" 는 파라미터에 사용되어 파싱 오류를 일으킬 수 있습니다.

Base64url 은 어디에 사용되나요?

Base64url 은 JWT(JSON Web Token), OAuth 2.0 인가 코드, SAML 어서션, 그리고 URL 또는 HTTP 헤더에서 바이너리 데이터를 전달해야 하는 모든 API 에서 널리 사용됩니다.

Base64url 에서 패딩은 필수인가요?

아니요. Base64url 에서 패딩은 선택 사항입니다. 길이를 계산할 수 있기 때문에 많은 구현에서 패딩을 생략합니다. 특히 JWT 사양은 더 깔끔한 URL 을 위해 패딩이 없는 형식을 요구합니다.

다른 언어