When you see this status
- Server is temporarily moving a resource to a new URI
- Load balancer redirects client to another backend server
- API versioning requires temporary redirection to a new endpoint
- Maintenance page is served from a different URL
Common causes
- Server-side configuration change
- Load balancing or failover
- Temporary resource relocation
- Security policy enforcement
How to debug it
- Verify the Location header contains the correct temporary URI
- Check server logs for redirection rules
- Ensure client follows redirects automatically
- Test with curl -v to inspect headers
Return this code in your framework
Express (Node.js)
res.redirect(307, 'https://example.com/new-path');
FastAPI (Python)
return RedirectResponse(url='/new-path', status_code=307)
NestJS
@Get() @Redirect('/new-path', 307) getRedirect() {}
Go (net/http)
http.Redirect(w, r, "/new-path", 307)
About HTTP 307
HTTP status code 307 Temporary Redirect is part of the
3xx Redirection family. The requested resource is temporarily located at a different URI, and future requests should still use the original URI. Understanding it is essential for
backend engineers, API designers, and anyone debugging integrations between services.
The Qaynaq Labs HTTP Status Code Explainer covers all standard codes with practical guidance:
what triggers them, how to debug them in production, and exactly how to return them from common
frameworks. Each code page is hand-curated and verified.