#node.js #express #server #client #sendfile
Вопрос:
Когда я открываю html-файл из браузера, он потребляет следующее:
Но когда я отправляю один и тот же файл с экспресс-сервера, потребление памяти заметно увеличивается:
Это правда, что это не огромное потребление памяти, но это ОЧЕНЬ заметная разница, Почему это происходит?, Экспресс-отправка клиенту чего-то, чего я не знаю (заголовки, файлы cookie, что-то еще?)?
С сервера у меня есть только один файл JavaScript с одним маршрутом, который отправляет html-файл с помощью sendFile
функции Express:
const express = require('express');
const { join } = require('path');
const server = express();
server.get('/', (_, res) => {
res.sendFile(join(__dirname, 'render.html'));
});
server.listen(3000, () => {
console.log('Server is running in port 3000');
});
в то время как HTML-файл, который вы отправляете клиенту, просто содержит следующее:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<header>
<h1>This is Header</h1>
</header>
<main>
<section>
<h1>Section 1</h1>
</section>
<section>
<h1>Section 2</h1>
</section>
</main>
<footer>
<h2>This is Footer</h2>
</footer>
</body>
</html>
больше ничего нет.
Я попробовал это в Google Chrome и Edge, надеюсь, вы поможете мне понять c:
Ответ №1:
Они не были ни HTTP-заголовками, ни файлами cookie … не говоря уже о сервере, проблема заключалась в расширениях для браузера !!!
Очевидно, когда я открывал HTML-файл локально (используя протокол » Файл:»), расширения не запускались.
Это интересно для меня, я не знаю, как работают расширения браузера и их жизненный цикл, но, по-видимому, расширения совместно используют процессы и память на текущей вкладке, то есть они совместно используют процесс и память с запущенным в данный момент приложением, это было не мое приложение, потребляющее память, это были процессы расширений браузера.