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.
Headers.entries()
: Bir döndürüriterator
Bu nesnede bulunan tüm anahtar/değer çiftlerinin üzerinden geçmeye izin verir.Headers.forEach()
: BuHeaders
nesnesindeki her anahtar/değer çifti için sağlanan bir işlevi bir kez çalıştırır.Headers.get()
: Bir döndürürString
Belirli bir ada sahip birHeaders
nesnesi içindeki bir başlığın tüm değerlerinin dizisi.Headers.has()
:Headers
nesnesinin belirli bir başlık içerip içermediğini belirten bir boolean döndürür.Headers.keys()
: Bir döndürüriterator
Bu nesnede bulunan anahtar/değer çiftlerinin tüm anahtarlarını gözden geçirmenizi sağlar.Headers.values()
: Bir döndürüriterator
Bu nesnede bulunan anahtar/değer çiftlerinin tüm değerlerini gözden geçirmenizi sağlar.
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:
x-real-ip
x-forwarded-host
x-forwarded-port
x-forwarded-proto
Version History
Version | Changes |
---|---|
v13.0.0 | headers introduced. |