headers

headers işlevi, bir Sunucu Bileşeninden gelen HTTP istek başlıklarını okumanızı sağlar.

headers()

Bu API, Web Headers API'sini genişletir. Salt okunurdur, yani giden istek başlıklarını set / delete yapamazsınız.

app/page.tsx
import { headers } from 'next/headers'
 
export default function Page() {
  const headersList = headers()
  const referer = headersList.get('referer')
 
  return <div>Referer: {referer}</div>
}

Bildiğim iyi oldu:

  • headers() döndürülen değerleri önceden bilinemeyen bir Dinamik İşlevdir. Bir düzende veya sayfada kullanılması, istek zamanında dinamik oluşturmaya giden bir yolu tercih edecektir.

API Reference

const headersList = headers()

Parameters

headers herhangi bir parametre almaz.

Returns

headers salt okunur bir Web Headers nesnesi döndürür.

Examples

Usage with Data Fetching

headers() Veri Getirme için Askıya Alma ile birlikte kullanılabilir.

app/page.js
import { Suspense } from 'react'
import { headers } from 'next/headers'
 
async function User() {
  const authorization = headers().get('authorization')
  const res = await fetch('...', {
    headers: { authorization }, // Forward the authorization header
  })
  const user = await res.json()
 
  return <h1>{user.name}</h1>
}
 
export default function Page() {
  return (
    <Suspense fallback={null}>
      <User />
    </Suspense>
  )
}

IP Address

headers() istemcinin IP adresini almak için kullanılabilir.

app/page.js
import { Suspense } from 'react'
import { headers } from 'next/headers'
 
function IP() {
  const FALLBACK_IP_ADDRESS = '0.0.0.0'
  const forwardedFor = headers().get('x-forwarded-for')
 
  if (forwardedFor) {
    return forwardedFor.split(',')[0] ?? FALLBACK_IP_ADDRESS
  }
 
  return headers().get('x-real-ip') ?? FALLBACK_IP_ADDRESS
}
 
export default function Page() {
  return (
    <Suspense fallback={null}>
      <IP />
    </Suspense>
  )
}

x-forwarded-for adresinin yanı sıra headers() adresini de okuyabilirsiniz:

Version History

VersionChanges
v13.0.0headers introduced.