Подтвердить что ты не робот

Node.js url.parse() и свойство pathname

Я читаю начатую книгу на node.js, называемую Node Книга для начинающих, а в приведенном ниже коде (приведенном в книге) я не понимаю значение свойство pathname, зависающее от метода анализа. Поэтому я хотел бы знать, что он делает. документация для этого метода мне не понятна

var pathname = url.parse(request.url) .pathname;

var http = require("http");
var url = require("url");
function start(route, handle) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;         // I don't understand the pathname property
console.log("Request for " + pathname + " received.");
route(handle, pathname);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}

\

4b9b3361

Ответ 1

pathname - это раздел пути URL-адреса, который появляется после хоста и перед запросом, включая начальную косую черту, если она присутствует.

Например:

url.parse('http://stackoverflow.com/questions/17184791').pathname    

предоставит вам:

"/questions/17184791"

Ответ 2

url.parse(urlString [, parseQueryString [, slashesDenoteHost]])

urlString: Строка URL для разбора.
parseQueryString: Если true, свойство запроса всегда будет установлено в объект, возвращаемый методом parse() метода querystring.
slashesDenoteHost: Если true, первый токен после литеральной строки//и предшествующий следующей/будет интерпретирован как хост
Таким образом, метод url.parse() принимает строку URL, анализирует ее и возвращает объект URL.

Таким образом,

var pathname = url.parse(request.url).pathname;

вернет имя пути хоста, за которым следует '/'

Например:

var pathname = url.parse(https://nodejs.org/docs/latest/api/url.html).pathname

вернет "/docs//latest/api/url.html"

Ответ 3

Вот пример:

var url = "https://u:[email protected]:777/a/b?c=d&e=f#g";
var parsedUrl = require('url').parse(url);
...
protocol  https:
auth      u:p
host      www.example.com:777
port      777
hostname  www.example.com
hash      #g
search    ?c=d&e=f
query     c=d&e=f
pathname  /a/b
path      /a/b?c=d&e=f
href      https://www.example.com:777/a/b?c=d&e=f#g

И еще:

var url = "http://example.com/";
var parsedUrl = require('url').parse(url);
...
protocol http:
auth     null
host     example.com
port     null
hostname example.com
hash     null
search   null
query    null
pathname /
path     /
href     http://example.com/

Node.js docs: Объекты URL