headers

headers 函式允許你從伺服器元件 (Server Component) 讀取 HTTP 傳入請求的標頭。

headers()

此 API 擴展了 Web Headers API。它是唯讀的,意味著你無法 set / delete 傳出的請求標頭。

import { headers } from 'next/headers'

export default function Page() {
  const headersList = headers()
  const referer = headersList.get('referer')

  return <div>Referer: {referer}</div>
}

須知事項:

API 參考

const headersList = headers()

參數

headers 不接受任何參數。

返回值

headers 返回一個唯讀的 Web Headers 物件。

範例

與資料獲取一起使用

headers() 可以與資料獲取的 Suspense (Suspense for Data Fetching) 一起使用。

app/page.js
import { headers } from 'next/headers'

async function getUser() {
  const headersInstance = headers()
  const authorization = headersInstance.get('authorization')
  // 轉發授權標頭
  const res = await fetch('...', {
    headers: { authorization },
  })
  return res.json()
}

export default async function UserPage() {
  const user = await getUser()
  return <h1>{user.name}</h1>
}

版本歷史

版本變更
v13.0.0引入 headers

On this page