for create node.js express response-headers

node.js - create - express session



¿Cómo puedo devolver los encabezados de respuesta con Node.js/Express? (8)

Estoy usando res.send y no importa qué, devuelve el estado de 200. Quiero establecer ese estado en diferentes números para diferentes respuestas (Error, etc.)

Esto es usar express


Asumiré que está utilizando una biblioteca como "Express", ya que nodejs no proporciona un método de res.send .

Como en la guía Express , puede pasar un segundo argumento opcional para enviar el estado de respuesta, como:

// Express 3.x res.send( "Not found", 404 ); // Express 4.x res.status(404).send("Not found");


Como la pregunta también menciona Express, también podría hacerlo de esta manera utilizando middleware.

app.use(function(req, res, next) { res.setHeader(''Content-Type'', ''text/event-stream''); next(); });


Debe utilizar el método setHeader y el método de estado para su propósito.

En el código del nodo JS:

app.post(''/login'', function(req, res) { // ...Check login credentials with DB here... if(!err) { var data = { success: true, message: "Login success" }; // Adds header res.setHeader(''custom_header_name'', ''abcde''); // responds with status code 200 and data res.status(200).json(data); } });


En la documentación de express (4.x), res.sendStatus se utiliza para enviar definiciones de códigos de estado. Como se menciona here cada uno tiene una descripción específica.

res.sendStatus(200); // equivalent to res.status(200).send(''OK'') res.sendStatus(403); // equivalent to res.status(403).send(''Forbidden'') res.sendStatus(404); // equivalent to res.status(404).send(''Not Found'') res.sendStatus(500); // equivalent to res.status(500).send(''Internal Server Error'')


Para agregar encabezados de respuesta antes del envío, puede usar el método setHeader :

response.setHeader(''Content-Type'', ''application/json'')

El estado solo por el método de estado :

response.status(status_code)

Ambos al mismo tiempo con el método writeHead :

response.writeHead(200, {''Content-Type'': ''application/json''});


Yo uso esto con Express

res.status(status_code).send(response_body);

y esto sin expreso (servidor http normal)

res.writeHead(404, { "Content-Type": "text/plain" }); res.write("404 Not Found/n"); res.end();


establecer statusCode var antes de la llamada send ()

res.statusCode = 404; res.send();