headers
headers
est une fonction asynchrone qui vous permet de lire les en-têtes de requête HTTP entrants depuis un Composant Serveur.
import { headers } from 'next/headers'
export default async function Page() {
const headersList = await headers()
const userAgent = headersList.get('user-agent')
}
import { headers } from 'next/headers'
export default async function Page() {
const headersList = await headers()
const userAgent = headersList.get('user-agent')
}
Référence
Paramètres
headers
ne prend aucun paramètre.
Valeur retournée
headers
retourne un objet Web Headers en lecture seule.
Headers.entries()
: Retourne unitérateur
permettant de parcourir toutes les paires clé/valeur contenues dans cet objet.Headers.forEach()
: Exécute une fonction fournie une fois pour chaque paire clé/valeur dans cet objetHeaders
.Headers.get()
: Retourne une séquenceString
de toutes les valeurs d'un en-tête dans un objetHeaders
avec un nom donné.Headers.has()
: Retourne un booléen indiquant si un objetHeaders
contient un certain en-tête.Headers.keys()
: Retourne unitérateur
permettant de parcourir toutes les clés des paires clé/valeur contenues dans cet objet.Headers.values()
: Retourne unitérateur
permettant de parcourir toutes les valeurs des paires clé/valeur contenues dans cet objet.
Bon à savoir
headers
est une fonction asynchrone qui retourne une promesse. Vous devez utiliserasync/await
ou la fonctionuse
de React.- Dans la version 14 et antérieures,
headers
était une fonction synchrone. Pour assurer la compatibilité ascendante, vous pouvez toujours y accéder de manière synchrone dans Next.js 15, mais ce comportement sera déprécié à l'avenir.
- Dans la version 14 et antérieures,
- Comme
headers
est en lecture seule, vous ne pouvez passet
oudelete
les en-têtes de requête sortants. headers
est une API Dynamique dont les valeurs retournées ne peuvent pas être connues à l'avance. Son utilisation entraînera un rendu dynamique pour la route.
Exemples
Utilisation de l'en-tête Authorization
import { headers } from 'next/headers'
export default async function Page() {
const authorization = (await headers()).get('authorization')
const res = await fetch('...', {
headers: { authorization }, // Transmet l'en-tête d'autorisation
})
const user = await res.json()
return <h1>{user.name}</h1>
}
Historique des versions
Version | Modifications |
---|---|
v15.0.0-RC | headers est désormais une fonction asynchrone. Un codemod est disponible. |
v13.0.0 | Introduction de headers . |