it-swarm.asia

اعتبارات HTTP Content-MD5 Header

نحن نناقش ما إذا كنا سنستخدم رأس Content-MD5.

الايجابيات:

  • يسمح لنا نظام إدارة المحتوى بتضمينه بسهولة مع الحد الأدنى من الحمل (الاستجابات المخزنة مؤقتًا في 80٪ من الحالات).
  • سيضيف طبقة أخرى من الحماية ضد المشاكل.

سلبيات:

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

نقاط:

  • هل تتضمن بعض أنواع الوسائط شكل الخلاصة الذي يجعل هذا الأمر غير ضروري؟
  • إذا كان TCP يقدم هذا بالفعل ، فلماذا تم تضمينه في معيار HTTP؟
  • ما هي الاستخدامات الحالية الواقعية؟
  • هل الفحص MD5 لا يكاد يذكر؟

ليست مشكلة حقيقية في أن تضاف إلى اختبارات الوحدة وتنفذ ، حوالي ساعة من العمل ؛ ولكن إذا كانت ضارة ، فنحن نريد إضافتها إلى اختبارات شم المستوى الأعلى المستخدمة في "الفحوصات الصحية" للموقع.

12
Metalshark

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

RFCs تلمح إلى الأمن. IMHO هذا ضعيف جدًا ويجب تجاهله - إذا كنت بحاجة إلى أي نوع من الأمن والسرية الحقيقيين ، فأنت بحاجة إلى HTTPS.

هل تتضمن بعض أنواع الوسائط شكل الخلاصة الذي يجعل هذا الأمر غير ضروري؟

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

أود أن أقول أن ذلك يعتمد على حالة الاستخدام:

  • بالنسبة لخدمات الويب المستندة إلى REST ، تضيف الخلاصة طبقة مفيدة من تصحيح الأخطاء الإضافي. انظر هذا فشل AWS كمثال .
  • بالنسبة للتطبيقات التي تتعامل مع البيانات المهمة - المهمة عبر HTTP العادي ، فإن الأمر يستحق التنفيذ. يوفر Content-MD5 للعملاء خيار التحقق من سلامة الإرسال من طرف إلى طرف.
  • بالنسبة إلى مواقع الويب "العادية" التي تقدم نصوص ووسائط ذات قيمة "عادية" ، لا يخدم رأس Content-MD5 أي غرض. وأنا بصراحة لا أعرف حتى عدد المتصفحات الرئيسية (الكمبيوتر ، وخاصة المحمول) التي تدعمها بالفعل.
10
Jesper Mortensen

MD5 الشيكات إضافة زمن الوصول إلى أوقات تحميل صفحة الويب.

إذا كان هذا صحيحًا (والكمون ليس تافهًا تمامًا) فسأقول إنه لم يكن يستحق كل هذا العناء.

بشكل عام ، أعتقد أن العنوان الأخير المعدل هو الأكثر استخدامًا لتحديد ما إذا كانت الصفحة قد تغيرت. على افتراض أنك قدمت قيمة ذات مغزى هناك ، فأنا لا أرى need للحصول على رأس Content-md5.

1
Kris