headers
headers هي وظيفة غير متزامنة (async) تتيح لك قراءة رؤوس طلب HTTP الواردة من مكون الخادم (Server Component).
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(): تُرجعiteratorيسمح بالمرور عبر جميع أزواج المفتاح/القيمة الموجودة في هذا الكائن.Headers.forEach(): تنفذ دالة معينة مرة واحدة لكل زوج مفتاح/قيمة في كائنHeadersهذا.Headers.get(): تُرجع سلسلة نصيةStringتحتوي على جميع قيم رأس معين داخل كائنHeaders.Headers.has(): تُرجع قيمة منطقية تشير إلى ما إذا كان كائنHeadersيحتوي على رأس معين.Headers.keys(): تُرجعiteratorيسمح بالمرور عبر جميع مفاتيح أزواج المفتاح/القيمة في هذا الكائن.Headers.values(): تُرجعiteratorيسمح بالمرور عبر جميع قيم أزواج المفتاح/القيمة في هذا الكائن.
معلومات مفيدة
headersهي وظيفة غير متزامنة (async) تُرجع promise. يجب استخدامasync/awaitأو دالةuseفي React.- في الإصدار 14 وما قبله، كانت
headersوظيفة متزامنة. لدعم التوافق مع الإصدارات السابقة، لا يزال يمكن الوصول إليها بشكل متزامن في Next.js 15، ولكن هذا السلوك سيتم إهماله في المستقبل.
- في الإصدار 14 وما قبله، كانت
- نظرًا لأن
headersللقراءة فقط، لا يمكنكsetأوdeleteرؤوس الطلب الصادرة. headersهي واجهة برمجة تطبيقات ديناميكية (Dynamic API) لا يمكن معرفة قيمها مسبقًا. استخدامها سيؤدي إلى تحويل المسار إلى عرض ديناميكي (dynamic rendering).
أمثلة
استخدام رأس 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 وظيفة غير متزامنة. يتوفر أداة تحويل الشفرة (codemod). |
v13.0.0 | تم تقديم headers. |