يتم نقل كل ما تراه في متصفحك تقريبًا إلى جهاز الكمبيوتر الخاص بك من خلال بروتوكول HTTP . على سبيل المثال ، عندما فتحت صفحة المقالة هذه ، أرسل متصفحك الكثير من طلبات HTTP ( الطلب ) وتلقى الكثير من الردود ( الاستجابة ).

تعتبر رؤوس HTTP ( Header ) جزءًا مهمًا من طلبات واستجابات HTTP هذه ، فهي تنقل معلومات حول متصفح العميل والصفحة المطلوبة والخادم وما إلى ذلك.

سنقوم في هذا البرنامج التعليمي بشرح كيفية الحصول على المعلومات التي تحتاجها من " Request Headers ". يوجه هذا البرنامج التعليمي كيفية الحصول على المعلومات التي نهتم بها من رؤوس الطلبات ( Request Headers الطلبات) وتعيين قيم معينة لرؤوس الاستجابة الضرورية (رؤوس Response Headers ).

أسهل طريقة للحصول على معلومات حول محتويات Request Headers هي تنفيذ طلب في تطبيق منشور.

  • انتقل إلى أداة المطور ( F12 ).
  • قم بالتبديل إلى علامة التبويب Networks .
  • اختيار الطلب المقدم من القائمة.
  • قم بالتبديل إلى علامة التبويب " Headers " وابحث عن قسم " Request Headers ".

1_f12

كيفية استخدام AppMaster للتفاعل مع رؤوس الطلبات والاستجابة

في مصمم الواجهة الخلفية AppMaster ، يمكنك الحصول على معلومات رأس الطلب إذا كان اسمه محددًا في كتلة عملية الأعمال Get Request Headers .

2_getRequestHeaders

  • Name [ string ] - اسم الرأس ؛
  • Value [ string ] - قيمة الرأس ؛

لإضافة Header مخصص في الاستجابة - يتم استخدام كتلة Set Response Header .

3_setResponseHeaders

  • Name [ سلسلة ] - اسم الرأس ؛
  • Value [ سلسلة ] - قيمة الرأس ؛

يوجد العديد من Request Headers ، ولكن القليل منها موصوف أدناه (المعلومات مأخوذة من https://www.w3.org/Protocols/HTTP/HTRQ_Headers.html ):

  • From - في تنسيق بريد الإنترنت ، يعطي هذا اسم المستخدم الطالب. يمكن استخدام هذا الحقل لأغراض التسجيل ونموذج غير آمن لحماية الوصول. تفسير هذا الحقل هو أن الطلب يتم تنفيذه نيابة عن الشخص المعطى ، الذي يقبل المسؤولية عن الطريقة المنفذة. ليس من الضروري أن يتوافق عنوان بريد الإنترنت في هذا الحقل مع مضيف الإنترنت الذي أصدر الطلب. (على سبيل المثال ، عند تمرير طلب عبر بوابة ، يجب استخدام عنوان المُصدر الأصلي). يجب أن يكون عنوان البريد ، إن أمكن ، عنوان بريد صالحًا ، سواء كان في الواقع عنوان بريد إنترنت أم لا أو تمثيل بريد إنترنت لعنوان في نظام بريد آخر.
  • Accept - يحتوي هذا الحقل على قائمة مفصولة بفاصلة منقوطة لمخططات التمثيل (قيم معلومات Content-Type ) التي سيتم قبولها في الاستجابة لهذا الطلب. قد تختلف المجموعة المعطاة بالطبع من طلب إلى طلب من نفس المستخدم.
    مثال:
    قبول: نص / عادي ، نص / html
    قبول: نص / x-dvi ؛ ف = .8 ؛ mxb = 100000 ؛ mxt = 5.0 ، نص / xc
  • قبول Accept-Encoding - مشابه للقبول ، لكنه يسرد أنواع ترميز المحتوى المقبولة في الاستجابة.
    مثال:
    قبول-ترميز: ضغط x. x- الرمز البريدي
  • Referer - يسمح حقل الرأس الاختياري هذا للعميل بتحديد ، لصالح الخادم ، عنوان (URI) للمستند (أو العنصر داخل المستند) الذي تم الحصول منه على URI في الطلب. هذا يسمح للخادم بإنشاء قوائم من الروابط الخلفية للوثائق ، من أجل الفائدة ، التسجيل ، إلخ. يسمح بتتبع الروابط السيئة للصيانة. إذا تم تقديم URI جزئي ، فيجب تحليله بالنسبة إلى URI الخاص بموضوع الطلب.
    مثال:
    المرجع: http://www.w3.org/hypertext/DataSources/Overview.html
  • Authorization - إذا كان هذا السطر موجودًا ، فإنه يحتوي على معلومات التفويض. يجب تحديد التنسيق (TBS). شكل هذا الحقل في شكل قابل للتوسيع. الكلمة الأولى هي مواصفات نظام الترخيص المستخدم.
    مثال:
    التفويض: حامل BtHKEsVs5mNNtNf7UWoVwjJzFqLOzucA
  • قبول Accept-Language - مشابه للقبول ، لكنه يسرد قيم اللغة التي يفضلها في الاستجابة. الرد بلغة غير محددة ليس غير قانوني.
  • User-Agent - يعطي هذا السطر إن وجد البرنامج المستخدم من قبل العميل الأصلي. هذا لأغراض إحصائية وتتبع انتهاكات البروتوكول. يجب أن يتم تضمينه. يجب أن تكون أول كلمة محددة بمسافة بيضاء هي اسم منتج البرنامج ، مع علامة مائلة اختيارية ومعيِّن الإصدار. يمكن وضع المنتجات الأخرى التي تشكل جزءًا من وكيل المستخدم ككلمات منفصلة.
    مثال:
    وكيل المستخدم: LII-Cello / 1.0 libwww / 2.5

أمثلة على Response Headers :

  • Allowed - يسرد مجموعة الطلبات التي يُسمح للمستخدم الطالب بإصدارها لعنوان URL هذا. إذا تم حذف سطر العنوان هذا ، فإن الطرق الافتراضية المسموح بها هي " GET HEAD "
  • Public - كمسموح به ولكنه يسرد تلك الطلبات التي قد يستخدمها أي شخص. في حالة حذفه ، يكون الإعداد الافتراضي هو " GET " فقط.
  • Content-Length - يشير إلى أن الجسم ثنائي ويجب قراءته مباشرةً من ارتباط الاتصالات ، بدون خطوط تحليل ، وما إلى ذلك. عندما تكون البيانات جزءًا من الطلب ، يمنع الهروب وإلغاء الهروب من تسلسل الإنهاء.
  • Content-Encoding - يحدد آلية التشفير المستخدمة. قيد الاستخدام حاليًا فقط x-compress و x-gzip .
  • Content-Type - يحدد نوع الوثيقة.
  • Content-Length - يشير إلى أن الجسم ثنائي ويجب قراءته مباشرةً من ارتباط الاتصالات ، بدون خطوط تحليل ، وما إلى ذلك. عندما تكون البيانات جزءًا من الطلب ، يمنع الهروب وإلغاء الهروب من تسلسل الإنهاء.
  • Last-Modified - تم تعديل كائن آخر مرة ، أي تاريخ هذا الإصدار إذا كان المستند "مستندًا حيًا".

دعونا نرى مثالاً على الحصول على عنوان IP الخاص بالمستخدم وقيمة ملفات تعريف الارتباط الخاصة به من عناوين الطلب .
للحصول على IP الخاص بالمستخدم ، يتم استخدام x-real-ip . توفر رؤوس طلبات ملفات تعريف الارتباط معلومات رمز ملفات تعريف الارتباط.

يبدو BP مثل:

bp

في الخطوة التالية ، يجب إنشاء نقطة نهاية لـ BP هذا

endpoint

تبدو واجهة المستخدم مثل:

ui

أخيرًا ، يتم عرض النتيجة أدناه. يحصل المستخدم على المعلومات من الرؤوس بمجرد النقر على الزر ( onClick المشغل في سير عمل الزر) ويتم تحديث عناوين التسمية بهذه المعلومات ( خصائص تحديث التسمية ).

result

Was this article helpful?

AppMaster.io 101 حلقة دراسية مكثفة

10 وحدات
2 أسابيع

لست متأكدا من أين تبدأ؟ ابدأ في الدورة التدريبية المكثفة للمبتدئين واستكشف AppMaster من الألف إلى الياء.

ابدأ الدورة
Development it’s so easy with AppMaster!

هل تريد المزيد من المساعدة؟

حل أي مشكلة بمساعدة خبرائنا. وفر الوقت وركز على بناء تطبيقاتك.

headphones

اتصل بالدعم

أخبرنا عن مشكلتك ، وسنجد لك حلاً.

message

دردشة المجتمع

ناقش الأسئلة مع مستخدمين آخرين في محادثتنا.

الانضمام إلى المجتمع