Standard Base64 vs. Base64URL
Standard Base64 uses the '+' and '/' characters, which have special meanings in URLs (representing spaces and directory separators, respectively). If you pass standard Base64 data in a URL query parameter, it can become corrupted.
Base64URL encoding solves this by replacing '+' with '-' (dash) and '/' with '_' (underscore), and optionally removing the '=' padding. This makes the resulting string completely safe to include in URLs and filenames.