308 Permanent Redirect

Wiederhole dieselbe Anfrage an einer neuen, dauerhaften URL.

Wann du ihn verwendest

Wie 301, aber Methode und Body dürfen sich nicht ändern.

Gut zu wissen

308 ist die permanente Variante von 307: Suchmaschinen behandeln ihn wie 301 und übertragen Ranking-Signale, aber Methode und Body dürfen sich nicht ändern. Nutze ihn für API-Endpunkte, die POST, PUT oder PATCH empfangen und dauerhaft umgezogen sind. Browser cachen ihn wie 301, also gilt dieselbe Vorsicht: Eine falsche 308 kann lange in den Browsern der Benutzer hängen bleiben.

Next.js antwortet mit 308 bei Weiterleitungen, die als permanent markiert sind, und bei der Normalisierung abschließender Schrägstriche, was beim Lesen der Logs viele überrascht. Sehr alte Clients wie Internet Explorer 11 unter Windows 7 verstehen 308 nicht; wenn du sie noch bedienst, nimm 301 für einfache GET-Seiten. Wie eine 301 ist auch eine 308 standardmäßig cachebar, also füge Cache-Control: max-age hinzu, solange du eine neue Weiterleitung noch testest.

Weiterleitung (3xx)

3xx-Codes sind Weiterleitungen: Der Client muss woandershin oder seine zwischengespeicherte Kopie verwenden, um die Anfrage abzuschließen.

So sieht es aus

HTTP/1.1 308 Permanent Redirect

So sendest du ihn

Node.js / Expressres.redirect(308, '/new-url')
Python / Flaskreturn redirect('/new-url', code=308)
nginxreturn 308 https://example.com$request_uri;

So prüfst du ihn

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP-Statuscodes öffnen