سؤال

أنا فضولي لمعرفة ما هي آثار الأداء لاستخدام مصادقة HTTP الأساسية على خادم الويب مثل Apache أو LightPD أو Nginx. أتصور الاختناق هو القراءة الفعلية للملف من قبل الخادم لمصادقة المستخدم. يبدو لي أيضا أن تكلفة قراءة الملف لمصادقة المستخدم يتناسب مع عدد المستخدمين في هذا الملف.

أسئلة لدي:
1. هل هناك عدد محدد من المستخدمين عند بدء تشغيل المصادقة الأساسية عبر السقوط بشكل كبير أم أنه بالنسبة إلى عدد المستخدمين الموجودين في الملف؟
2. بالنظر إلى الطبيعة عديمي الجنسية لل http، إذا تم مصادقة المستخدم باستخدام مصادقة HTTP الأساسية بواسطة خادم الويب على طلب واحد:
- هل يقوم ببساطة بإعادة توجيه بيانات الاعتماد على كل طلب ويجب أن يقوم WebServer بتحليل ملف كلمة المرور في كل مرة من أجل تحديد ما إذا كان هذا طلبا من مستخدم صالح؟
أو
- احصل على شيء مثل الرمز المميز يستخدمه في رأس HTTP على الطلبات اللاحقة، مما يسمح للخادم بتجنب تحليل ملف كلمة المرور مرة أخرى؟

شكرا مقدما

هل كانت مفيدة؟

المحلول

  1. قريب خطي. لن تقلق. ثبت أن مصادقة HTTP الأساسية قابلة للتطوير. فقط تأخذ API Twitter كمثال. يستخدم المصادقة الأساسية.

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

معلومات مفصلة في وثائق مصادقة أباتشي.

نصائح أخرى

تجربتي مع Apache 2.x فقط.

  1. نعم. سيكون خطيا مع مزود المصادقة الافتراضي (ملف). ويستخدم ذلك ap_cfg_getline() لذلك سيكون خطيا لعدد الخطوط (المستخدمين).
  2. نعم. يجب على mod_aaa تحليل كلمة المرور في كل مرة. يمكنك استخدام شيء مثل ميموكي للحصول على مصادقة ملف تعريف الارتباط أو الرمز المميز.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top