Node.js обслуживает несколько файлов в одном запросе
Можно ли обслуживать несколько файлов за один запрос?
Вот упрощенная версия моего кода для обслуживания домашней страницы нашего веб-сайта по запросу к нашему серверу node.js, который не содержит параметров (есть кеширующий код, который кэширует данные файла для повышения эффективности сервера, обработки ошибок и т. Д.) :
var http = require("http");
http.createServer(function(req, res){
res.setHeader("Access-Control-Allow-Origin", "*");
if (req.url == "/"){
res.writeHead(200, {"Content-Type": "text/html"});
fs.readFile("./pages/index/index.html", function(err, data){
res.end(data);
});
} else if (req.url == "/index.css"){
res.writeHead(200, {"Content-Type": "text/css"});
fs.readFile("./pages/index/index.css", function(err, data){
res.end(data);
});
} else if (req.url == "/index.js"){
res.writeHead(200, {"Content-Type": "application/javascript"});
fs.readFile("./pages/index/index.js", function(err, data){
res.end(data);
});
} else if (req.url == "/indexBackground.jpg"){
res.writeHead(200, {"Content-Type": "image/jpeg"});
fs.readFile("./pages/index/images/background.jpg", function(err, data){
res.end(data);
});
}
}).listen(port);
HTML-файл сам импортирует внешние библиотеки с использованием CDN, а ссылки на таблицу стилей, сценарий и изображение выглядят следующим образом:
<link rel="stylesheet" href="https://our-website-url/index.css">
<script type="text/javascript" src="https://our-website-url/index.js"></script>
<img src="https://our-website-url/indexBackground.jpg">
Страница обслуживается правильно, но для ее обслуживания необходимо сделать 3 отдельных запроса. Я думаю, это замедляет загрузку сайта и добавляет ненужную нагрузку на сервер.
Можно ли обслуживать все 3 файла в одном запросе, несмотря на то, что они имеют разные типы контента? Если да, то как мы будем ссылаться на эти файлы, которые все обслуживаются одним запросом в html-файле, и если нет, то есть ли более эффективный способ обслуживания страницы, чем тот, который мы используем в настоящее время?