مرحبا،
لقد وجدت خادم ويب مضمنًا في أحد أجهزة "إنترنت الأشياء" الخاصة بي ، والذي لا يقوم بالمصادقة أثناء استخدام وحدة "الطلب" داخل iobroker.javascript.
المشكلة هي أن هذا الطلب يرسل حقل رأس التفويض في جميع الأحرف الصغيرة. لا أعرف ، إذا تم تعريفه في RFC إذا كان يجب أن يكون الرأس حساسًا لحالة الأحرف.
هل من الممكن تغيير ملف auth.js (وربما ملفات أخرى أيضًا) بحيث تبدأ حقول الرأس بالأحرف الكبيرة وتستمر بالأحرف الصغيرة مثل
تفويض
فمثلا. هناك بعض الأمثلة الأخرى لهذا السلوك مثل رأس المضيف وما إلى ذلك.
| البرمجيات | الإصدار
| ---------------- | -------
| طلب | 2.79.0
| عقدة | 4.5.0
| npm | 3.10.8
| نظام التشغيل | Ubuntu 14.04.5 LTS مع kernel 3.16.0-44-generic # 59 ~ 14.04.1-Ubuntu
نوع فيما يتعلق Uwe
وفقًا لمواصفات RFC ، تعتبر رؤوس HTTP غير حساسة لحالة الأحرف. سيتعين عليك تعيين هذه الرؤوس يدويًا باستخدام الخيار headers
.
أكثر قليلاً عن هذا ، لأنه يأتي كثيرًا.
simov صحيح ،
عند الطلب ، نختار الأحرف الصغيرة بشكل افتراضي للرؤوس التي يولدها الطلب ، ولكن عندما تقوم بتعيين الرؤوس يدويًا ، فإننا نحتفظ بغلاف تلك الرؤوس بحيث يمكنك التعامل مع الخوادم غير المتوافقة مع المواصفات.
ستحتاج إلى إنشاء رؤوس المصادقة بنفسك وتعيينها باستخدام ميزات headers
أو setHeader
في الطلب إذا كنت تريد غلافًا معينًا. ليس من المعقول أن يطلب تغيير الإعدادات الافتراضية للخوادم التي لا تتوافق مع المواصفات لأنه لا توجد طريقة لنا للفوز ، سيكون هناك دائمًا خادم لا يحب افتراضيًا معينًا وغير متوافق مع المواصفات.
بكل احترام أعتقد أن هذا يستحق إعادة النظر. صحيح أن RFC تحدد الرؤوس غير الحساسة لحالة الأحرف ، لكن الحقيقة هي أن غالبية الأشخاص لا يختبرون أي شيء سوى متصفحات الويب الشائعة. غالبًا ما يكون التعامل مع حالة خوادم http خارج سيطرة مستخدمي هذه المكتبة.
تستخدم غالبية المتصفحات رؤوسًا مغطاة بالعناوين ، وأكثر ما يمكن أن تفعله هذه المكتبة فائدة هو محاكاة السلاسل الأكثر استخدامًا ، على سبيل المثال Host:
not host:
، Cookie:
not cookie:
. بهذه الطريقة ستعمل في كل مكان تعمل فيه متصفحاتنا. سيؤدي الانضمام إلى القطيع إلى توافق أفضل (صوابًا أو خطأً) وله أيضًا فوائد للخصوصية.
سعيد للعمل على التصحيح إذا كان من المحتمل أن يتم قبولها ، الأفكار؟ يمكن تمييز الميزة للحفاظ على التوافق للأشخاص الذين يفضلون الأحرف الصغيرة.
التعليق الأكثر فائدة
بكل احترام أعتقد أن هذا يستحق إعادة النظر. صحيح أن RFC تحدد الرؤوس غير الحساسة لحالة الأحرف ، لكن الحقيقة هي أن غالبية الأشخاص لا يختبرون أي شيء سوى متصفحات الويب الشائعة. غالبًا ما يكون التعامل مع حالة خوادم http خارج سيطرة مستخدمي هذه المكتبة.
تستخدم غالبية المتصفحات رؤوسًا مغطاة بالعناوين ، وأكثر ما يمكن أن تفعله هذه المكتبة فائدة هو محاكاة السلاسل الأكثر استخدامًا ، على سبيل المثال
Host:
nothost:
،Cookie:
notcookie:
. بهذه الطريقة ستعمل في كل مكان تعمل فيه متصفحاتنا. سيؤدي الانضمام إلى القطيع إلى توافق أفضل (صوابًا أو خطأً) وله أيضًا فوائد للخصوصية.سعيد للعمل على التصحيح إذا كان من المحتمل أن يتم قبولها ، الأفكار؟ يمكن تمييز الميزة للحفاظ على التوافق للأشخاص الذين يفضلون الأحرف الصغيرة.