307 Temporary Redirect
HTTP/1.1 midlertidig redirect der garanterer samme HTTP-metode bevares
Nøglefakta om 307 Redirect
307 vs 302: Nøgleforskelle
HTTP-metode preservation
Den store forskel mellem 302 og 307 er hvordan de håndterer HTTP-metoder:
302 Redirect:
Kan ændre POST til GET request ved redirect. Dette er historisk adfærd fra HTTP/1.0.
POST /form → 302 → GET /new-location
307 Redirect:
Garanterer at samme HTTP-metode bevares. POST forbliver POST.
POST /form → 307 → POST /new-location
Aspekt | 302 | 307 |
---|---|---|
HTTP Version | HTTP/1.0 | HTTP/1.1 |
Metode preservation | Ikke garanteret | Garanteret |
POST request | Kan blive til GET | Forbliver POST |
Browser support | Universel | HTTP/1.1+ browsers |
Hvornår skal du bruge 307?
API Endpoints med POST/PUT
Når du midlertidigt redirecter API endpoints der bruger POST, PUT eller DELETE.
POST /api/v1/users → 307 → POST /api/v2/users
Form Submissions
Midlertidig redirect af form submissions hvor POST data skal bevares.
POST /old-form → 307 → POST /new-form
Server Maintenance
Midlertidig redirect til backup server under vedligeholdelse.
POST /api/service → 307 → POST /backup-server/api/service
Load Balancing
Midlertidig fordeling af requests mellem servere.
POST /endpoint → 307 → POST /server-2/endpoint
Implementation
Apache (.htaccess)
# 307 redirect
RewriteEngine On
RewriteRule ^old-endpoint$ /new-endpoint [R=307,L]
# Med fuld URL
Redirect 307 /old-page https://example.com/new-page
Nginx
location /old-endpoint {
return 307 /new-endpoint;
}
# Med fuld URL
location /old-page {
return 307 https://example.com/new-page;
}
Node.js / Express
app.post('/old-endpoint', (req, res) => {
res.redirect(307, '/new-endpoint');
});
// Next.js API route
export async function POST(request) {
return NextResponse.redirect(
new URL('/new-endpoint', request.url),
{ status: 307 }
);
}
SEO-påvirkning
Midlertidig redirect
Ligesom 302 fortæller 307 søgemaskiner at redirectet er midlertidigt. Den originale URL bevares i søgeindexet.
Link juice
Begrænset overførsel af SEO-værdi sammenlignet med permanente redirects (301/308). Brug 307 kun når redirect faktisk er midlertidigt.
Crawling
Søgemaskiner fortsætter med at crawle den originale URL fremfor den redirectede URL.
Best Practices
✓ Gør dette
- • Brug 307 når HTTP-metode skal bevares
- • Brug til midlertidige API changes
- • Test at POST data bevares
- • Skift til 308 hvis permanent
- • Dokumenter redirect årsag
✗ Undgå dette
- • Brug ikke til permanente changes
- • Antag ikke POST bliver til GET
- • Glem ikke at opdatere til 308 senere
- • Brug ikke for simple page redirects
- • Mix ikke 307 og 302 uden grund