Я сейчас начинающий в веб-разработке.Поэтому, естественно, я использую node.js в качестве серверной части для создаваемого мной приложения, которое включает получение данных с использованием REST, а затем поиск и сортировку.Часть, на которой я застрял, заключается в том, как работают заголовки node.js и вообще на веб-сервере.Приведенный ниже код в основном настраивает сервер на порт 3000, а затем у меня есть счетчик, который подсчитывает, сколько раз была достигнута конечная точка.Что я не получаю, так это ошибку, которую выбрасывает узел.Поэтому я попытался переписать заголовки.Из исследований, которые я провел в Интернете, следует, что, как только сервер, который в данном случае является node.js, выполняет рукопожатие с клиентом, который является нашим клиентом, он устанавливает заголовок.Затем клиент может сделать запрос к серверу с использованием API-маршрутов и получить ответ.Что я не понимаю, так это как заголовки используются в этом?
const express = require('express');
const app = express();
const port = 3000;
var counter=0;
app.get('/',(req,res) => {
res.send("Hello World");
console.log("First Request");
counter++;
if(counter%2)
{
res.setHeader("Content-Type", "text/html");
res.send("Second Request");
}
})
app.listen(port,()=>{
console.log("App is listening on port 3000");
})
Исключение, которое он выдает, это
rror [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:470:11)
at app.get (/Users/taherhuzefa/Desktop/Personal/groupme_extension/index.js:14:16)
at Layer.handle [as handle_request] (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/r
outer/layer.js:95:5)
at next (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/router/route.js:112
:3)
at Layer.handle [as handle_request] (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/r
outer/layer.js:95:5)
at /Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/router/ind
ex.js:335:12)
at next (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/router/index.js:275:10)
at expressInit (/Users/taherhuzefa/Desktop/Personal/groupme_extension/node_modules/express/lib/middleware/init.js:40:
5)