لا يستطيع العميل التصرف بناءً على تحدّي المصادقة الخاص بالوكيل حتى تكون لديه استجابة HTTP كاملة لتحليلها. ولا يزال سطر الحالة وحقل Proxy-Authenticate بحاجة إلى السطر الفارغ الذي ينهي قسم الترويسات.

الاستجابة الدنيا من HTTP/1.1 التي لا تحتوي على جسم لها هذه البنية:

HTTP/1.1 407 Proxy Authentication Required<CRLF>
Proxy-Authenticate: Basic realm="local-proxy"<CRLF>
Content-Length: 0<CRLF>
<CRLF>

كل علامة CRLF تمثّل بايتَي إرجاع العربة وتغذية السطر، وليست نص العلامة حرفيًا. سطر الترويسة الأخير ينتهي أصلًا بـ CRLF؛ وعلامة CRLF الإضافية تُنشئ السطر الفارغ. ويبيّن Content-Length أنه لا يتبع أي جسم.

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

تتطلّب استجابة 407 تحدّي Proxy-Authenticate واحدًا صالحًا على الأقل. وإذا كان العميل يدعم المخطط المعروض وحصل على بيانات اعتماد، فيمكنه إعادة المحاولة باستخدام Proxy-Authorization. حقول 401 وWWW-Authenticate الخاصة بالموقع تخص قفزة مختلفة.

هذا التحدّي من نوع Basic مثال على التأطير، وليس تصميم مصادقة كاملًا. تحتاج بيانات اعتماد Basic إلى اتصال محمي عندما تكون السرية مهمة. كما أن إرسال التحدّي لا ينفّذ التحقق من كلمة المرور ولا تحليل الطلبات ولا أنفاق CONNECT.

مقالات ذات صلة