Можно node.js позволить веб-браузеру (клиенту) получить доступ к любому каталогу на моем компьютере?

#javascript #node.js #http #webserver #httpserver

#javascript #node.js #http #веб-сервер #httpserver

Вопрос:

Просто чтобы вы знали, я новичок в настройке веб-сервера, и я спрашиваю, как организовать свой ввод. Я настроил http-сервер, реализующий Node.js сценарий ниже:

 const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World and Youaaaa.');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

 
  • Я предполагаю, что этот код настроил http-сервер на моем компьютере и позволил порту 3000 http-сервера открыться для Интернета. Означает ли это, что Интернет может получить доступ к любому каталогу на моем компьютере с диска C на рабочий стол?
  • Какой каталог на моем компьютере http://127.0.0.1:3000/ указывает этот URL? Если я добавлю к этому несколько слов, например C:/UserName/Desktop/sample.js , и установлю его в форме URL-адреса веб-браузера, может ли веб-браузер реализовать sample.js file?

Комментарии:

1. В большинстве случаев http прямое использование модуля требует больше работы, чем того стоит, и вам лучше использовать что-то вроде express вместо этого.

2. Спасибо. Я не знал о express. Я бы попробовал.

Ответ №1:

Я предполагаю, что этот код настроил http-сервер на моем компьютере и позволил порту 3000 http-сервера открыться для Интернета. Означает ли это, что Интернет может получить доступ к любому каталогу на моем компьютере с диска C на рабочий стол?

Нет.

Вы не написали никакого кода, который позволяет вашему Node.js программа считывает файл. Не говоря уже о файле, определяемом пользовательским вводом.

Какой каталог на моем компьютере содержит этот URL http://127.0.0.1:3000 / указать ?

Нет каталога.

Посмотрите на свой код:

   res.end('Hello World and Youaaaa.');
 

Это жестко закодированная строка, а не ссылка на какой-либо файл.

Если я добавлю к этому несколько слов, таких как C:/UserName/Desktop/sample.js и установите его в форме URL-адреса веб-браузера, может ли веб-браузер реализовать sample.js файл?

Нет.