تعيين رأس الصفحة

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يعين النهج set-header قيمة لاستجابة HTTP و/أو عنوان طلب موجود أو يضيف استجابة و/أو عنوان طلب جديد.

استخدم النهج لإدراج قائمة بعناوين HTTP في رسالة HTTP. عند وضعها في مسار وارد، يقوم هذا النهج بتعيين عناوين HTTP للطلب الذي يتم تمريره إلى الخدمة الهدف. عند وضعها في مسار صادر، يحدد هذا النهج عناوين HTTP للاستجابة التي يتم إرسالها إلى عميل البوابة.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. لمساعدتك في تكوين هذا النهج، يتيح المدخل محررًا موجهًا يستند إلى النموذج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

<set-header name="header name" exists-action="override | skip | append | delete">
    <value>value</value> <!--for multiple headers with the same name add additional value elements-->
</set-header>

سمات

الاسم ‏‏الوصف مطلوبة افتراضي
exists-action تحديد الإجراء الذي يجب اتخاذه عند تحديد العنوان بالفعل. يجب أن تحتوي هذه السمة على إحدى القيم التالية.

- override - يستبدل قيمة العنوان الموجود.
- skip - لا يحل محل قيمة الرأس الموجودة.
- append - إلحاق القيمة بقيمة الرأس الموجودة.
- delete - يزيل العنوان من الطلب.

عند التعيين إلى override، يؤدي إدراج إدخالات متعددة بنفس الاسم إلى تعيين الرأس وفقا لجميع الإدخالات (التي سيتم سردها عدة مرات)؛ سيتم تعيين القيم المدرجة فقط في النتيجة.

يتم السماح بتعبيرات النهج.
لا override
الاسم يحدد اسم العنوان الذي سيتم تعيينه. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر

عناصر

Name ‏‏الوصف مطلوب
قيمة قم بتحديد قيمة العنوان المطلوب تعيينه. يتم السماح بتعبيرات النهج. بالنسبة إلى رؤوس متعددة بنفس الاسم، أضف عناصر إضافية value . لا

الاستخدام

  • أقسام النهج: واردة وصادرة وخلفية وعند الخطأ
  • نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
  • البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا

ملاحظات الاستخدام

يتم تسلسل قيم متعددة لعنوان بسلسلة CSV، على سبيل المثال:

headerName: value1,value2,value3

تشمل الاستثناءات العناوين الموحدة، والتي تقدر:

  • قد تحتوي على فواصل (User-Agent، ، WWW-Authenticate) Proxy-Authenticate
  • قد تحتوي على التاريخ (Cookie، Set-Cookie، Warning
  • تحتوي على التاريخ (Date، Expires، If-Modified-Since، If-Unmodified-Since، Last-Modified، Retry-After).

في حالة هذه الاستثناءات، لن يتم تسلسل قيم رؤوس متعددة في سلسلة واحدة وسيتم تمريرها كعناوين منفصلة، على سبيل المثال:

User-Agent: value1
User-Agent: value2
User-Agent: value3

تُطبق القيود التالية:

  • Server إزالة الرأس غير مدعومة.
  • لا يمكن تعديل الرؤوس: Connection، ContentLength، KeepAlive، TransferEncoding أو حذفها.

الأمثلة

إضافة عنوان، وتجاوز الموجود

<set-header name="some header name" exists-action="override">
    <value>20</value>
</set-header>

إزالة الرأس

 <set-header name="some header name" exists-action="delete" />

إعادة توجيه معلومات السياق إلى خدمة في الخلفية

يوضح هذا المثال كيفية تطبيق النهج على مستوى واجهة برمجة التطبيقات لتوفير معلومات السياق إلى خدمة في الخلفية.

<!-- Copy this snippet into the inbound element to forward some context information, user id and the region the gateway is hosted in, to the backend service for logging or evaluation -->
<set-header name="x-request-context-data" exists-action="override">
  <value>@(context.User.Id)</value>
  <value>@(context.Deployment.Region)</value>
</set-header>

لمزيد من المعلومات، راجع Policy expressions و Context variable.

لمزيد من المعلومات حول العمل مع النُهج، راجع: