headers
headers — это асинхронная функция, которая позволяет читать заголовки входящего HTTP-запроса в серверных компонентах.
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')
}Справочник
Параметры
headers не принимает параметров.
Возвращаемое значение
headers возвращает только для чтения объект Web Headers.
Headers.entries(): Возвращаетитератордля перебора всех пар ключ/значение в объекте.Headers.forEach(): Выполняет переданную функцию один раз для каждой пары ключ/значение в объектеHeaders.Headers.get(): Возвращаетстрокусо всеми значениями заголовка с указанным именем.Headers.has(): Возвращает булево значение, указывающее, содержит ли объектHeadersуказанный заголовок.Headers.keys(): Возвращаетитератордля перебора всех ключей в объекте.Headers.values(): Возвращаетитератордля перебора всех значений в объекте.
Полезно знать
headers— это асинхронная функция, возвращающая промис. Необходимо использоватьasync/awaitили функциюuseиз React.- В версии 14 и ранее
headersбыла синхронной функцией. Для обратной совместимости в Next.js 15 её всё ещё можно использовать синхронно, но это поведение будет устаревшим в будущем.
- В версии 14 и ранее
- Поскольку
headersдоступен только для чтения, нельзя использоватьsetилиdeleteдля исходящих заголовков запроса. headers— это динамический API, возвращаемые значения которого невозможно определить заранее. Его использование приведёт к динамическому рендерингу маршрута.
Примеры
Использование заголовка Authorization
import { headers } from 'next/headers'
export default async function Page() {
const authorization = (await headers()).get('authorization')
const res = await fetch('...', {
headers: { authorization }, // Передача заголовка authorization
})
const user = await res.json()
return <h1>{user.name}</h1>
}История версий
| Версия | Изменения |
|---|---|
v15.0.0-RC | headers стала асинхронной функцией. Доступен кодмод. |
v13.0.0 | Добавлена функция headers. |