Percent-encoding explained
URLs can only contain a restricted character set. Spaces become %20, & becomes %26, etc.
Use encodeURIComponent for query-string values; use encodeURI when encoding a whole URL that should keep its scheme and slashes intact.