Question on use of base64 vs base64url in modern specifications

I'm sure that the standards-based data encoding formats geeks among us
already knew this, but here is a TILT (Thing I Learned Today) that somehow
I never quite internalized, but raises a question.

The character set used in the base64 specification [RFC4648] collide with
the URI reserved characters [RFC3986], thus there is a variant called
Base64URL also defined in [RFC4648] that doesn't collide with URI reserved
characters.

Replaces “+” by “-” (minus)
Replaces “/” by “_” (underline)
Does not require a padding character

But the question I have then is, why use the older base64 at all? Why not
completely deprecate base64 entirely for brand new standards? Or is it
solely that base64URL also "forbids line separators"? Is this the only
reason why the older base64 is still used in new standards? Or am I missing
something?

— Christopher Allen

Received on Friday, 24 April 2020 19:25:42 UTC