Capítulo 166 de 456
Função async para ler os headers HTTP da requisição de entrada dentro de um Server Component.
Headers (Web API) somente leitura.set/delete headers de saída com essa função.// app/page.tsx
import { headers } from 'next/headers'
export default async function Page() {
const headersList = await headers()
const userAgent = headersList.get('user-agent')
}
.get().// app/page.js - forward de Authorization
import { headers } from 'next/headers'
export default async function Page() {
const authorization = (await headers()).get('authorization')
const res = await fetch('...', {
headers: { authorization },
})
const user = await res.json()
return <h1>{user.name}</h1>
}
| Método | Descrição |
|---|---|
entries() | iterator de todos os pares chave/valor |
forEach() | executa função para cada par |
get() | retorna string com valores de um header |
has() | boolean se o header existe |
keys() | iterator das chaves |
values() | iterator dos valores |
| Version | Changes |
|---|---|
| v15.0.0-RC | headers virou função async (havia codemod) |
| v13.0.0 | headers introduzido |
headers() fora de Suspense com Cache Components: impede o prerender da rota — ver mensagem "blocking-prerender-runtime".await headers() — em v14 e anteriores era síncrono, hoje é async (compat retrocompatível em v15 mas deprecated).headers() força dynamic rendering na rota.NextResponse em Route Handlers/Proxy.