В это модуле собраны инструменты для разрешения и разбора URL.
Вызовите require('url') чтобы его использовать.
Объекты разобранного URL имеют либо все либо некоторые из перечисленных полей, в зависимости от их присутствия в строке URL. Части которых не было в URL не будут присутствовать в объекте. Примеры показаны для URL
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
href: Полный URL который был разобран.
Пример: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
protocol: Протокол запроса.
Пример: 'http:'
host: Полный host, включая порт и информацию аутентификации.
Пример: 'user:pass@host.com:8080'
auth: Информация для аутентификации.
Пример: 'user:pass'
hostname: Имя хоста.
Пример: 'host.com'
port: Номер порта.
Пример: '8080'
pathname: Секция пути, которая идёт после хоста и перед строкой параметров, включая начальный слеш если он есть.
Пример: '/p/a/t/h'
search: Строка запроса, включая ведущий знак вопроса.
Пример: '?query=string'
query: Параметры из строки запроса, либо уже разобранный объект с параметрами.
Пример: 'query=string' or {'query':'string'}
hash: "Якорь" URL, включая знак решётки.
Пример: '#hash'
Модуль URL предоставляет следующие методы:
Получает строку URL и возвращает объект.
Передайте true вторым аргументом, чтобы одновременно
разобрать строку запроса модулем querystring.
Передайте true третьим аргументом, чтоы строка //foo/bar разрешалась как
{ host: 'foo', pathname: '/bar' } вместо { pathname: '//foo/bar' }.
Получает объект URL и возвращает отформатированный URL в виде строки.
Получает базовый URL и относительный URL, и разрешает их как это сделал бы браузер для гиперссылки.