“JWT를 왜 굳이 Base64로 인코딩하냐?”
핵심부터 말하면:
🔑 문자열로 데이터를 전송할때 문자열에 포함되면 안되는 특수문자들이 걸러내서 네트워크에서 안전하게 전달하기 위해서입니다.
(암호화가 아니라, ‘전송 포맷 변환’이에요.)
JWT는 이렇게 생겼죠:
HEADER.PAYLOAD.SIGNATURE
각 부분이 JSON → Base64Url 인코딩됩니다.
예:
HEADER{"alg":"HS256","typ":"JWT"}
이걸 Base64로 바꿔서:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
HTTP 헤더는 텍스트 기반 프로토콜이에요.
Authorization 헤더 예: