Internet

HTTP Negotiation

تتضمن معظم استجابات HTTP كيانًا يحتوي على معلومات للتفسير من قبل المستخدم. بطبيعة الحال


التاريخ

06 نوفمبر 2021

الدروس

24

المستوى

العامة

اللغة

انجليزي

المشاهدات

725

المواضيع

5
الشروحات chevron_left HTTP Negotiation chevron_left Internet
Computer Network keyboard_arrow_down

HTTP Negotiation

</> HTTP Negotiation

تتضمن معظم استجابات HTTP علي entity يحتوي على معلومات للتفسير من قبل المستخدم. وبطبيعة الحال ، يتم استخدامه لتزويد المستخدم بأفضل entity متاح يتوافق مع الطلب. لسوء الحظ بالنسبة لذاكرة التخزين المؤقت والخادم ، لا يمتلك جميع المستخدمين نفس التفضيلات لما هو أفضل. لهذا السبب يحتوي HTTP على أحكام للعديد من الآليات لـ "التفاوض على المحتوى". عندما يكون هناك العديد من التمثيلات المتاحة ، عملية اختيار أفضل تمثيل لاستجابة معينة. قد يخضع أي رد يحتوي على هيئة entity للتفاوض ، بما في ذلك الردود على الأخطاء. في HTTP ، يوجد نوعان من تفاوض المحتوى ، التفاوض الذي يعتمد على الخادم ، والتفاوض القائم على الوكيل. كلا المفاوضات متعامدة وبالتالي يمكن استخدامها معًا أو بشكل منفصل. يُشار إلى إحدى طرق الدمج بالمفاوضات الشفافة التي تحدث عندما يوفر الخادم الأصلي معلومات التفاوض الذي يحركه الوكيل ، والذي يتم استخدامه بواسطة ذاكرة التخزين المؤقت لتوفير تفاوض يحركه الخادم لـ


Server-driven Negotiation

</> Server-driven Negotiation

عند حدوث تفاوض يحركه الخادم ، يتم اختيار أفضل تمثيل للاستجابة بواسطة خوارزمية موجودة على الخادم. استنادًا إلى التمثيل المتاح للمورد ، يعتمد الاختيار والمحتويات. يعتمد التحديد أيضًا على محتويات entity-header معينة في رسالة الطلب request أو على معلومات أخرى ، والتي تتظاهر بالطلب (مثل عنوان شبكة العميل).


</> Advantages

  1. يكون مفيدًا عندما يصعب وصف خوارزمية الاختيار من بين التمثيلات المتاحة لوكيل المستخدم.
  2. يكون مفيدًا عندما يرغب الخادم في إرسال "أفضل تخمين" إلى العميل مع الاستجابة الأولى.
  3. لتحسين تخمين الخادم ، قد يقوم وكيل المستخدم بتضمين request header fields  التي تصف تفضيلاته لمثل هذه الاستجابة.

</> Disadvantages

  1. بالنسبة للخادم ، من المستحيل تحديد ما هو الأفضل لأي مستخدم معين بدقة. لهذا السبب سيحتاج الخادم إلى معرفة كاملة بكل من قدرات وكيل المستخدم والاستخدام المقصود للاستجابة
  2. يعقد تنفيذ خادم الأصل والخوارزميات لتوليد استجابات للطلب.

Agent-driven Negotiation

</> Agent-driven Negotiation

للتفاوض القائم على الخادم بعض العيوب: فهو لا يتسع بشكل جيد. يتم استخدام header واحد لكل ميزة في التفاوض. إذا كنت تريد استخدام حجم الشاشة أو الدقة أو أبعاد أخرى ، فأنت بحاجة إلى إنشاء HTTP header جديد. يجب بعد ذلك إرسال headers مع كل طلب. هذه ليست مشكلة إذا كان هناك عدد قليل من العناوين فقط ، ولكن مع زيادة عدد headers ، قد يؤثر حجم الرسالة في النهاية على الأداء. كلما تم إرسال headers بشكل أكثر دقة ، مما يسمح بمزيد من بصمات HTTP ومخاوف الخصوصية المقابلة. يسمح HTTP بنوع تفاوض آخر: التفاوض القائم على الوكيل أو التفاوض التفاعلي. في هذه الحالة ، يرسل الخادم مرة أخرى صفحة تحتوي على ارتباطات إلى الموارد البديلة المتاحة عند مواجهة طلب غامض. يتم تقديم الموارد للمستخدم ويختار المصدر الذي سيستخدمه.


</> Advantages

  1. يتم استخدامه عندما تختلف الاستجابة حسب الأبعاد شائعة الاستخدام عندما يكون الخادم الأصلي غير قادر على تحديد قدرة وكيل المستخدم على فحص الطلب.
  2. يتم استخدامه عندما توزع ذاكرات التخزين المؤقت العامة تحميل الخادم وتقليل استخدام الشبكة.

</> Disadvantages

يعاني التفاوض الذي يحركه الوكيل عندما يحتاج إلى طلب ثان للحصول على أفضل تمثيل بديل.

مصطلحات الدرس
HTTP Negotiation
HTTP Negotiation

تفاوض HTTP

Negotiation
Negotiation

تفاوض

Entity
Entity

كيان

Server-driven Negotiation
Server-driven Negotiation

تفاوض يحركها الخادم

Entity-header
Entity-header

عنوان الكيان

Advantages
Advantages

مزايا

Agent-driven Negotiation
Agent-driven Negotiation

تفاوض قائم على وكيل

Headers
Headers

عناوين

اختصارات الدرس
HTTP
HTTP

Hypertext Transfer Protocol

بروتوكول نقل النصوص
link
معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
0
1
1
1
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات