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