Send a response using Express
How to send a response back to the client using Express
In the Hello World example we used the Response.send()
method to send a simple string as a response, and to close the connection:
(req, res) => res.send('Hello World!')
If you pass in a string, it sets the Content-Type
header to text/html
.
if you pass in an object or an array, it sets the application/json
Content-Type
header, and parses that parameter into JSON.
send()
automatically sets the Content-Length
HTTP response header.
send()
also automatically closes the connection.
Use end() to send an empty response
An alternative way to send the response, without any body, it’s by using the Response.end()
method:
res.end()
Set the HTTP response status
Use the Response.status()
:
res.status(404).end()
or
res.status(404).send('File not found')
sendStatus()
is a shortcut:
res.sendStatus(200)
// === res.status(200).send('OK')
res.sendStatus(403)
// === res.status(403).send('Forbidden')
res.sendStatus(404)
// === res.status(404).send('Not Found')
res.sendStatus(500)
// === res.status(500).send('Internal Server Error')
I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025