2014-09-25 12 views
40

मैंजेडब्ल्यूटी टोकन का अधिकतम आकार क्या है?

JSON वेब टोकन (जेडब्ल्यूटी)

की अधिकतम लंबाई चश्मा इसके बारे में कोई जानकारी नहीं हैं पता करने की जरूरत। क्या हो सकता है, लंबाई में कोई सीमा नहीं है?

उत्तर

21

जैसा कि आपने कहा था, आरएफसी 7519 (https://tools.ietf.org/html/rfc7519) या जेडब्ल्यूएस या जेडब्ल्यूई से संबंधित अन्य आरएफसी में परिभाषित अधिकतम लंबाई नहीं है।

आप JSON धारावाहिक फ़ॉर्मेट या JSON चपटे धारावाहिक प्रारूप का उपयोग करते हैं, वहाँ कोई सीमा है और वहाँ एक सीमा को परिभाषित करने का कोई कारण नहीं है।

लेकिन यदि आप JSON कॉम्पैक्ट सीरियलाइज्ड प्रारूप (सबसे आम प्रारूप) का उपयोग करते हैं, तो आपको यह ध्यान रखना होगा कि यह जितना संभव हो सके छोटा होना चाहिए क्योंकि यह मुख्य रूप से वेब संदर्भ में उपयोग किया जाता है। एक 4 केबी जेडब्ल्यूटी कुछ ऐसा है जो आपको टालना चाहिए।

लें देखभाल ही उपयोगी दावों और हैडर जानकारियां स्टोर करने के लिए।

34

मैं भी इस खोजने की कोशिश कर रहा हूँ।

मैं कहूंगा - कोशिश करें और सुनिश्चित करें कि यह 7kb से नीचे है।

जबकि जेडब्ल्यूटी कल्पना (http://www.rfc-editor.org/rfc/rfc7519.txt) हम कुछ परिचालन सीमा है में कोई ऊपरी सीमा निर्धारित करता है। एक जेडब्ल्यूटी के रूप में एक HTTP शीर्ष लेख में शामिल किया गया है, हम वर्तमान सर्वर के बहुमत पर 8K की एक ऊपरी सीमा (SO: Maximum on http header values) है।

इस सभी अनुरोध हेडर < 8kb शामिल के रूप में, 7kb अन्य हेडर के लिए कमरे के लिए उचित समय देने के साथ। उस सीमा का सबसे बड़ा जोखिम कुकीज़ होगी (हेडर में भेजा गया है और बड़ा हो सकता है)।

के रूप में यह एन्क्रिप्टेड और वहाँ मूल json स्ट्रिंग के कम से कम 33% अपव्यय है base64ed है, इसलिए अंतिम एन्क्रिप्टेड टोकन की लंबाई की जांच करते हैं।

एक अंतिम बिंदु - प्रॉक्सी और अन्य नेटवर्क उपकरणों रास्ते एक abitrary सीमा लागू हो सकता है ...

+2

वहाँ 2-3kb रेंज में "बड़ी" टोकन से बचने के लिए किसी भी व्यावहारिक कारण है? –

+0

@SamuelElrod यह संभवतः आपके आवेदन की आवश्यकताओं पर निर्भर करता है।एक जेडब्ल्यूटी से जुड़े प्रत्येक अनुरोध के लिए 2-3kb हर बार तार लाने के लिए सामान की एक अच्छी मात्रा जोड़ता है। यदि यह उपयोगकर्ता को निष्पादित प्रदर्शन को प्रभावित करता है, तो आप इसे सीमित कर देंगे। – Jack

+0

अपने टोकन को फूलने से बचने का प्रयास करें। मैं कहूंगा कि 2-3k पहले से ही बहुत बड़ा रास्ता प्राप्त कर रहा है, वहां आपके पास क्या है? मेरा वर्तमान टोकन 320 बाइट्स है। – user2800708

0

Heroku हैडर 8k पर सीमित हो जाएगा का उपयोग करते समय। Jwt2 पर आप कितना डेटा उपयोग कर रहे हैं इसके आधार पर यह पहुंच जाएगा। अनुरोध है, जब बड़े आकार, अपने नोड उदाहरण स्पर्श नहीं करेगा, Heroku रूटर यह अपने एपीआई परत से पहले .. छोड़ देंगे

जब एक इनकमिंग अनुरोध पर कार्रवाई करने, एक रूटर एक 8KB बफर प्राप्त सेट और HTTP पढ़ने शुरू होता है अनुरोध लाइन और अनुरोध हेडर। इनमें से प्रत्येक लंबाई में अधिकतम 8KB हो सकता है, लेकिन कुल मिलाकर 8KB से अधिक हो सकता है। 8KB से अधिक अनुरोध लाइन या हेडर लाइन वाले अनुरोधों में भेजे बिना राउटर द्वारा छोड़ा जाएगा।

देखें: Heroku Limits

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