5 min read
ā¢Question 26 of 28mediumWhat happens in an API request lifecycle?
Understanding the complete API request flow.
What You'll Learn
- Complete request flow
- Middleware chain
- Response handling
Request Lifecycle
code.jsJavaScript
1. Client sends HTTP request
2. DNS resolution
3. TCP connection (handshake)
4. TLS handshake (HTTPS)
5. Request reaches server
6. Server processes request
7. Response sent back
8. Connection closed/kept aliveExpress.js Middleware Chain
code.jsJavaScript
// Order of execution
app.use(morgan('dev')); // 1. Logging
app.use(cors()); // 2. CORS headers
app.use(helmet()); // 3. Security headers
app.use(express.json()); // 4. Parse JSON body
app.use(authenticate); // 5. Authentication
app.use(rateLimit()); // 6. Rate limiting
// Route handlers
app.get('/users', (req, res) => { // 7. Route logic
res.json(users);
});
// Error handler (last)
app.use((err, req, res, next) => { // 8. Error handling
res.status(500).json({ error: err.message });
});Request Object
code.jsJavaScript
app.post('/users', (req, res) => {
req.method; // 'POST'
req.url; // '/users'
req.headers; // { 'content-type': 'application/json', ... }
req.query; // { page: '1' } from ?page=1
req.params; // { id: '123' } from /users/:id
req.body; // Parsed JSON body
req.cookies; // Parsed cookies
});Response Object
code.jsJavaScript
app.get('/users', (req, res) => {
res.status(200); // Set status
res.set('X-Custom', 'value'); // Set header
res.cookie('token', 'abc'); // Set cookie
res.json({ data: users }); // Send JSON
// or
res.send('Hello'); // Send text
res.redirect('/login'); // Redirect
});