📋 Headers Contain Metadata
Server sends headers with response. Read response headers for content type, cache, rate limits, authentication.
📝 Reading Headers
fetch('/api/data')
.then(response => {
// Read specific header
const contentType = response.headers.get('Content-Type');
const cacheControl = response.headers.get('Cache-Control');
const rateLimit = response.headers.get('X-RateLimit-Remaining');
console.log('Content-Type:', contentType);
console.log('Rate limit remaining:', rateLimit);
// Check if header exists
if (response.headers.has('X-Custom-Header')) {
console.log('Custom header present');
}
// Iterate all headers
for (let [key, value] of response.headers) {
console.log(`${key}: ${value}`);
}
return response.json();
});
🎯 Useful Headers
// Content Content-Type: application/json Content-Length: 1024 Content-Encoding: gzip // Caching Cache-Control: max-age=3600 ETag: "abc123" Last-Modified: Mon, 15 Jan 2024 12:00:00 GMT // Rate limiting X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1705334400 // Authentication WWW-Authenticate: Bearer Set-Cookie: session=abc123 // CORS Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, PUT, DELETE
💡 Use Cases
- Check rate limits (avoid hitting limits)
- Verify content type (JSON, HTML, etc.)
- Cache management (ETag, Cache-Control)
- Authentication (Set-Cookie, WWW-Authenticate)
- Debugging (server headers)
“API rate limit headers helped me implement backoff. Read headers, adjust request frequency. Essential for robust API clients.”
