HTTP: كيف يجب أن تظهر نوع المحتوى والمحتوى الترتيب عندما يطلب العميل نطاق البايت؟

StackOverflow https://stackoverflow.com/questions/1401529

  •  05-07-2019
  •  | 
  •  

سؤال

سألت حول خدمة نطاقات بايت من PHP. اليوم سؤالي هو: - كيف ينبغي أن تحدد Content-Type وContent-Disposition رؤوس عندما تخدم عدة نطاقات بايت المطلوبة؟ وأود أن أكررها لكل مجموعة بايت أو ينبغي أن مجرد إخراج لها مرة واحدة في البداية؟ أو ربما لا ينبغي لي أن الناتج منها على الإطلاق لأن العميل يجب أن يعرف بالفعل ما يسأل؟

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

المحلول

وعموما، يجب أن تكون رؤوس استجابة HTTP نفسه (مكرر) إذا كنت إرجاع الموارد كامل أو مجرد جزء منه. ما عدا بالطبع لرأس Content المدى التي سوف تختلف.

وتذكر أن HTTP عديم الجنسية، لذلك يجب أن يكون كل استجابة كاملة وقادرة على الوقوف بمفردها. إذا خدمة نطاقات بايت، كنت حقا ينبغي أن يكون باستخدام علامات كيان (ETags)؛ حتى لا يكون هناك أي فرصة أن العميل يمكن أن تطلب وتحصل على نطاقين بايت منفصلة التي تنتمي حقا إلى مراجعات مختلفة من نفس الموارد.

نصائح أخرى

وإلقاء نظرة على RFC 2616 (الأقسام 14.16 و 19.2 على وجه الخصوص). إذا طلب العميل مجموعة بايت واحد، يجب أن يحتوي على الاستجابة مجموعة بايت واحد، ونوع المحتوى والقيم رأس ترتيب المحتوى لا يتغير السلوك (أنها يجب أن تعكس نوع الملف التي تقدم لها الخدمات). ومع ذلك، إذا طلب العميل نطاقات البايت متعددة في طلب واحد، يجب الاستجابة استخدام نوع المحتوى من "متعدد الأجزاء / byteranges" بدلا من ذلك، ولكل جزء داخل الجسم يحدد بها نوع المحتوى رأس لها.

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