2014-10-17 6 views
5

मैंने उन सभी दस्तावेज को पढ़ा है जिन्हें मैं पा सकता हूं, लेकिन मुझे इन दो मिडलवेयर के बारे में एक सरल स्पष्टीकरण नहीं मिल रहा है।नोड्स बॉडी पार्सर और कुकी पार्सर क्या करते हैं? और क्या मुझे उनका उपयोग करना चाहिए?

body-parser में क्या देखें? शरीर को पार्स करने की आवश्यकता क्यों है?

इसी तरह कुकीज़ के लिए। क्या मैं सही हूं कि cookie-parser "पार्स" या वेब उपयोगकर्ता के साथ कुकीज़ के नीचे बीक?

आखिरकार, मैंने पढ़ा है कि body-parser एक्सप्रेस 4 में असुरक्षित और बहिष्कृत दोनों है। क्या मुझे इसका इस्तेमाल नहीं करना चाहिए?

उत्तर

6

जैसा कि आप जानते हैं, Node.js डिफ़ॉल्ट रूप से बहुत कम स्तर HTTP module प्रदान करता है। यही कारण है कि आपको एक्सप्रेस जैसे "ढांचे" की आवश्यकता है और इस तरह - वे आपको अन्य प्लेटफार्मों (उदाहरण के लिए जावा और PHP जैसे) में वेब सर्वर की सामान्य विशेषताओं को आसानी से संभालने देते हैं।

body-parser आपके अनुरोध के शरीर लेने के लिए और जो कुछ भी आप अपने सर्वर POST/PUT अनुरोध (JSON, यूआरएल इनकोडिंग, पाठ, कच्चे) में प्राप्त करना चाहते हैं उसे पार्स होगा।
शरीर-पारसर (अब तक मुझे पता है) के साथ एकमात्र समस्या यह है कि आप मल्टीपार्ट निकायों को नियंत्रित नहीं कर सकते हैं (जो आम तौर पर अपलोड होते हैं)।

cookie-parserCookie शीर्षलेख को पार्स करेगा और कुकी अलगाव और एन्कोडिंग को संभालेगा, शायद इसे डिक्रिप्ट भी कर देगा!

यह सब इस तथ्य के नीचे आता है कि आप की जरूरत नहीं है इन सुविधाओं का उपयोग करने के लिए, और क्यों नोड महान है कि है।
आप उन्हें आसानी से अनदेखा कर सकते हैं और अपने सर्वर को कम व्यस्त कर सकते हैं :)

+0

उन्हें अनदेखा करना (यदि आपको जानकारी चाहिए तो) नोड मॉड्यूल (जैसे 'querystring') में निर्मित का उपयोग करने पर भरोसा करेगा? – Startec

+0

यदि आपको ऐसी सुविधाओं की आवश्यकता है, तो हाँ, आपको किसी भी तरह सामान को पार्स करने की आवश्यकता होगी। बहुत ही आंतरिक पर, ये midwares बहुत सख्त काम पार्सिंग सामान करते हैं। – gustavohenke

+2

'मल्टीपार्ट/फॉर्म-डेटा 'केवल * किसी भी * फाइलों के लिए" विशाल फाइल "के लिए नहीं है। – mscdex

3

एक्सप्रेस 4, body-parser और cookie-parser अलग मॉड्यूल में स्थानांतरित कर दिए गए थे। शरीर और कुकी पार्सर्स जिन्हें बहिष्कृत किया गया था वे एक्सप्रेस 3 के साथ भेजे गए थे।

शरीर पार्सर पार्स अनुरोध निकायों। उनमें जेसन या यूआरएल एन्कोडेड फॉर्म डेटा शामिल हो सकता है। फॉर्म डेटा तब req.body में दिखाई देगा।

कुकी पार्सर कुकीज पार्स करता है और कुकीवेयर जानकारी को req ऑब्जेक्ट को मिडलवेयर में रखता है। यह हस्ताक्षर किए गए कुकीज़ को भी डिक्रिप्ट करेगा बशर्ते आप गुप्त जान लें।

+0

मैं देखता हूं, इसके लिए धन्यवाद। तो, वे अभी भी उपयोग करने के लिए स्वीकार्य हैं? (यानी बहिष्कृत नहीं किया गया?) – Startec

+0

@Startec हाँ, अगर आप एक्सप्रेस 4 पर एक वेब ऐप बना रहे हैं, तो मैं उनका उपयोग करने की सलाह दूंगा। –

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

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