headers

headers ist eine asynchrone Funktion, die es ermöglicht, die eingehenden HTTP-Anfrageheader in einer Server-Komponente auszulesen.

import { headers } from 'next/headers'

export default async function Page() {
  const headersList = await headers()
  const userAgent = headersList.get('user-agent')
}

Referenz

Parameter

headers akzeptiert keine Parameter.

Rückgabewert

headers gibt ein schreibgeschütztes Web Headers-Objekt zurück.

  • Headers.entries(): Gibt einen Iterator zurück, der alle Schlüssel/Wert-Paare des Objekts durchläuft.
  • Headers.forEach(): Führt eine bereitgestellte Funktion einmal für jedes Schlüssel/Wert-Paar in diesem Headers-Objekt aus.
  • Headers.get(): Gibt eine String-Sequenz aller Werte eines Headers mit einem bestimmten Namen zurück.
  • Headers.has(): Gibt einen Boolean zurück, der angibt, ob ein bestimmter Header im Headers-Objekt vorhanden ist.
  • Headers.keys(): Gibt einen Iterator zurück, der alle Schlüssel der Schlüssel/Wert-Paare durchläuft.
  • Headers.values(): Gibt einen Iterator zurück, der alle Werte der Schlüssel/Wert-Paare durchläuft.

Wissenswertes

  • headers ist eine asynchrone Funktion, die ein Promise zurückgibt. Sie müssen async/await oder Reacts use-Funktion verwenden.
    • In Version 14 und früher war headers eine synchrone Funktion. Zur Abwärtskompatibilität kann sie in Next.js 15 weiterhin synchron aufgerufen werden, dieses Verhalten wird jedoch in Zukunft veraltet sein.
  • Da headers schreibgeschützt ist, können Sie die ausgehenden Anfrageheader nicht mit set oder delete verändern.
  • headers ist eine dynamische API, deren Rückgabewerte nicht im Voraus bekannt sind. Die Verwendung führt zu dynamischem Rendering.

Beispiele

Verwendung des Authorization-Headers

app/page.js
import { headers } from 'next/headers'

export default async function Page() {
  const authorization = (await headers()).get('authorization')
  const res = await fetch('...', {
    headers: { authorization }, // Authorization-Header weiterleiten
  })
  const user = await res.json()

  return <h1>{user.name}</h1>
}

Versionsverlauf

VersionÄnderungen
v15.0.0-RCheaders ist nun eine asynchrone Funktion. Ein Codemod ist verfügbar.
v13.0.0headers eingeführt.

On this page