Menu

headers

headers ist eine asynchrone Funktion, die es Ihnen ermöglicht, die HTTP-Eingangsanfrage-Header aus einer Server-Komponente zu lesen.

app/page.tsx
TypeScript
import { headers } from 'next/headers'
 
export default async function Page() {
  const headersList = await headers()
  const userAgent = headersList.get('user-agent')
}

Referenz

Parameter

headers benötigt keine Parameter.

Rückgabewert

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

  • Headers.entries(): Gibt einen Iterator zurück, der es ermöglicht, durch alle Schlüssel-/Wertpaare in diesem Objekt zu navigieren.
  • Headers.forEach(): Führt eine bereitgestellte Funktion einmal für jedes Schlüssel-/Wertpaar im Headers-Objekt aus.
  • Headers.get(): Gibt eine String-Sequenz aller Werte eines Headers innerhalb eines Headers-Objekts mit einem bestimmten Namen zurück.
  • Headers.has(): Gibt einen booleschen Wert zurück, der angibt, ob ein Headers-Objekt einen bestimmten Header enthält.
  • Headers.keys(): Gibt einen Iterator zurück, der es ermöglicht, durch alle Schlüssel der Schlüssel-/Wertpaare in diesem Objekt zu navigieren.
  • Headers.values(): Gibt einen Iterator zurück, der es ermöglicht, durch alle Werte der Schlüssel-/Wertpaare in diesem Objekt zu navigieren.

Hinweis

  • headers ist eine asynchrone Funktion, die einen 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 Gewährleistung der Abwärtskompatibilität können Sie in Next.js 15 noch immer synchron darauf zugreifen, diese Funktionalität wird jedoch in Zukunft als veraltet markiert werden.
  • Da headers schreibgeschützt ist, können Sie die ausgehenden Anfrage-Header nicht set oder delete setzen.
  • headers ist eine Dynamische API, deren Rückgabewerte nicht im Voraus bekannt sein können. Die Verwendung führt dazu, dass eine Route in dynamisches Rendering überführt wird.

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>
}

Versionshistorie

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