URL - это аббревиатура от Uniform Resource Locator (Унифицированный указатель ресурсов), используемая для обозначения местоположения ресурсов в интернете.
Формат URL: scheme:[//authority]path[?query][#fragment], где authority = [userinfo@]host[:port].
scheme - указывает протокол, например http или ftp, обязательноuserinfo - информация пользователя для проверки доступа, формат username:password, необязательноhost - хост, может быть доменным именем или IP, обязательноport - номер порта, необязательно, по умолчанию используется стандартный порт протоколаpath - путь, используемый для указания каталога и адреса файла на хосте. Необязательный параметрquery - параметры запроса. Необязательноfragment - фрагмент, указывает на часть ресурса в интернете. НеобязательноПример простого URL: https://www.codeeeee.com, используются только scheme и host, порт по умолчанию для https - 443
URI - это аббревиатура от Uniform Resource Identifier (Унифицированный идентификатор ресурса), используется для обозначения имени ресурса в интернете. Формат и концепция URL и URI схожи, иногда их используют как взаимозаменяемые термины. Отличие в том, что URL указывает на местоположение ресурса, а URI - на его имя. URL является подтипом URI.
URL может содержать только символы ASCII, поэтому при наличии символов за пределами этого набора необходимо их закодировать. Кроме того, в URL есть зарезервированные символы, такие как :, /, &, которые также нужно кодировать, чтобы избежать путаницы в интерпретации URL.
При кодировании URL символы представляются в виде кодов процентного кодирования (%). Подробные правила кодирования URL можно найти здесь
В JavaScript для кодирования и декодирования URL можно использовать encodeURIComponent и decodeURIComponent.