2010-08-18 11 views
10

मैं मल्टीपार्ट/फॉर्म डेटा के बारे में एक प्रश्न पूछना चाहता हूं। मुझे मल्टीपार्ट पोस्ट का http शीर्षलेख और सामग्री-प्रकार: मल्टीपार्ट/फॉर्म-डेटा; सीमा = -----...--- boundaryNumber। मैं पूछना चाहता हूं, सीमा संख्या और '=' के बीच कितने '-'?मल्टीपार्ट/फॉर्म-डेटा में '-' क्या है?

उत्तर

26

कोई भी - अनिवार्य नहीं है। आप उनमें से कोई भी हो सकता है। यह वास्तव में मेरे लिए एक रहस्य है कि उपयोगकर्ता-एजेंट इतने सारे क्यों जोड़ते हैं। यह शायद पारंपरिक है क्योंकि पुराने दिनों में, जब लोग नियमित रूप से वास्तविक प्रोटोकॉल यातायात को देखते थे, तो यह कुछ अच्छा दृश्य अलगाव प्रदान करता था। आजकल यह व्यर्थ है।

नोट हालांकि, जब आप स्ट्रीम में सीमा का उपयोग करते हैं, तो इसे दो हाइफ़न (--) द्वारा उपसर्ग किया जाना चाहिए। वह प्रोटोकॉल का हिस्सा है। बेशक, तथ्य यह है कि अधिकांश उपयोगकर्ता-एजेंट अपनी सीमा में बहुत सारे हाइफ़न का उपयोग करते हैं, उदाहरण के लिए यह देखना मुश्किल है।

इसके अलावा, पिछले सीमा (जो संदेश के अंत के निशान) पहले से जुड़ा हुआ है और दो हाइफ़न (--) द्वारा प्रत्यय।

तो सारांश में, आप अपने सीमा 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-- 
+0

आपके उत्तर के लिए धन्यवाद। – Questions

+1

+1 दो सीमाओं (-) के बीच भिन्नता के लिए अलग-अलग (---) के बीच भिन्नता के लिए जो अक्सर सीमा में जोड़ा जाता है ... – LesterDove

+0

क्या होता है जब आपके पास अंतिम पंक्ति '--OMGWTFPLZDIEKTHX- -'? – Pacerier

2

डैश की संख्या इस बात पर निर्भर करती है कि आप कितने चाहते हैं। यह शून्य हो सकता है, अगर आपको पसंद है - यह सिर्फ इतना है कि अधिक डैश सीमा को और अधिक स्पष्ट बनाता है।

सीमा में एक पंक्ति होती है जिसमें दो डैश होते हैं और "सीमा =" के बाद सबकुछ होता है। इसलिए यदि आपके हैडर कहा boundary=ABC, सीमा लगता है कि

--ABC 
+0

आपके उत्तर के लिए धन्यवाद। – Questions

1

अपने सीमा परिभाषा में, कोई हाइफ़न आवश्यक हैं। दो अलग-अलग शरीर भागों को अलग करने के लिए उस सीमा का उपयोग करते समय, आपको दो हाइफ़न से शुरू करना होगा, इसके बाद आपकी पूर्व परिभाषित सीमा स्ट्रिंग होगी।

यह RFC 1341 (MIME) में समझाया गया है, और आप मल्टीपार्ट सेक्शन (लिंक के रूप में) में अतिरिक्त जानकारी पा सकते हैं।

+0

आपके उत्तर के लिए धन्यवाद। – Questions

1

यह पूरी तरह से मनमाना है।

सीमा का बिंदु आपके डेटा की शुरुआत और समाप्ति को परिभाषित करना है। इससे कोई फर्क नहीं पड़ता कि यह क्या है, जब तक यह सामग्री का हिस्सा न हो।

+0

आपके उत्तर के लिए धन्यवाद। – Questions

संबंधित मुद्दे