سؤال

أريد أن أطرح سؤالاً حول بيانات multipart/form. أجد رأس HTTP لـ Multipart Post ونوع المحتوى: multipart/form-data ؛ الحدود = ------...-- boundarynumber. أريد أن أسأل ، كم من "-" بين عدد الحدود و "="؟

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

المحلول

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

لاحظ أنه عندما تكون استعمال الحدود الموجودة في الدفق ، يجب أن تسبقها اثنين من الواصلين (--). هذا جزء من البروتوكول. بطبيعة الحال ، فإن حقيقة أن معظم وكيل المستخدمين يستخدمون الكثير من الواصلات في حدودهم يجعل هذا من الصعب للغاية رؤيته بالقدوة.

علاوة على ذلك ، و الاخير الحدود (التي تمثل نهاية الرسالة) مسبوقة و اللاحق من قبل اثنين من الواصلين (--).

لذلك باختصار ، يمكنك الاتصال بحدودك OMGWTFPLZDIEKTHX, ، ثم قد تبدو حركة المرور الخاصة بك هكذا:

Content-Type: multipart/form-data; boundary=OMGWTFPLZDIEKTHX

--OMGWTFPLZDIEKTHX
Content-Type: text/plain

First part (plain text).
--OMGWTFPLZDIEKTHX
Content-Type: text/html

<html>Second part (HTML).</html>
--OMGWTFPLZDIEKTHX--

نصائح أخرى

يعتمد عدد الشرطات على عدد تريد هناك. يمكن أن يكون صفرًا ، إذا أردت - فهذا يجعل المزيد من الشرطات تجعل الحدود أكثر وضوحًا.

تتكون الحدود من خط يحتوي على شرطين بالإضافة إلى كل شيء بعد "الحدود =". لذلك إذا قال رأسك boundary=ABC, ، تبدو الحدود

--ABC

في تعريف الحدود الخاص بك ، لا يلزم وجود واصلات. عند استخدام هذا الحدود لفصل جزأين متميزين من الجسم ، يجب أن تبدأ باصلين واصلين ، تليها سلسلة الحدود المحددة مسبقًا.

تم شرح هذا في RFC 1341 (MIME), ، ويمكنك العثور على معلومات إضافية هناك في قسم Multipart (كما هو مرتبط).

انها تعسفية تماما.

الهدف من الحدود هو تحديد بداية وإنهاء بياناتك. لا يهم ما هو عليه ، طالما أنه ليس جزءًا من المحتوى.

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