दिलचस्प पोस्ट
प्रेषक को छोड़कर सभी ग्राहकों को प्रतिक्रिया भेजें ggplot2 और नकारात्मक मूल्यों वाला एक स्टैक्ड बार चार्ट फ़ाइलों के बीच वैश्विक चर का उपयोग करना? डेटाबेस डिजाइन में 1-to-1 संबंध का उपयोग क्यों करें? कैसे सी # में एमएस कार्यालय दस्तावेजों से पाठ निकालने के लिए रेगेक्स। आईएसएम मैचों बनाम स्ट्रिंग सूची की सूची (एक अनियमित) समतल करें कैनोनिकल पंजीकरण आईडी और संदेश आईडी प्रारूप सिद्धांत में डिफ़ॉल्ट मान छोरों के लिए टपल अनपैकिंग में डेटाबेस विरासत के लिए तकनीक? जब आप लूप के माध्यम से गतिशील रूप से चर बना सकते हैं? स्ट्रिंग लीटरल्स का सी अनुकूलन संसाधन को स्टाइलशीट के रूप में व्याख्या की गई लेकिन माइम प्रकार पाठ / html (वेब ​​सर्वर से संबंधित नहीं लगता है) के साथ स्थानांतरित किया गया jQuery: '$ (यह)' और 'यह' के बीच का अंतर क्या है?

क्या कोई व्यावहारिक HTTP हैडर लंबाई सीमा है?

मेरे पास एक वेब अनुप्रयोग है जो setRequestHeader API का उपयोग करके XmlHttpRequest ऑब्जेक्ट के लिए प्रासंगिक जानकारी जोड़ता है। मैं कस्टम हेडर नाम (जैसे एक्स-फ़ू) और एक JSON संरचित मूल्य का उपयोग कर रहा हूं। यह क्वेरी क्वेरी स्ट्रिंग या पोस्ट निकाय का हिस्सा नहीं है क्योंकि यह अनुरोध के बारे में मेटा जानकारी है।

क्या हैडर मान में कोई व्यावहारिक आकार सीमा है? अगर मेरे JSON काट दिया जाता है, तो यह अनदेखी हो जाता है मैं अपाचे 2, टॉमकैट 6 और आईआईएस 7 में सीमाओं से ज्यादा चिंतित हूं। मैंने एचआई हेडर लंबाई सीमा के लिए एक Google खोज की है , लेकिन कई परिणाम दिनांकित हैं। एक उपयोगकर्ता एजेंट स्ट्रिंग कितनी बड़ी में कुछ प्रासंगिक टिप्पणियां हैं? लेकिन जैसा कि मैं चाहूं उतना विशिष्ट नहीं

संपादित करें: मैं बस इस इसी तरह के प्रश्न के पार चला गया – अधिकतम http शीर्ष लेख मानों पर?

वेब के समाधान से एकत्रित समाधान "क्या कोई व्यावहारिक HTTP हैडर लंबाई सीमा है?"

हां, लेकिन सीमाएं कॉन्फ़िगर करने योग्य हैं और प्लेटफ़ॉर्म पर निर्भर हैं। उदाहरण के लिए, टोमकैट में 8K की एक डिफ़ॉल्ट सीमा होती है मेरा मानना ​​है कि आईआईएस 6, आईआईएस 7 के बारे में निश्चित नहीं है, की 16 की सीमा है कई वेब साइटों के लिए एकीकृत खिड़कियों प्रमाणीकरण का उपयोग करते समय मैं इस पर दौड़ गया हेडर में एन्कोडेड होने पर मेरी सुरक्षा टोकन निकल जाती है। सौभाग्य से, ये कॉन्फ़िगर करने योग्य हैं। IIS के लिए रजिस्ट्री सेटिंग्स को http://support.microsoft.com/kb/820129 पर पाया जा सकता है। मुझे विश्वास है कि कुंजी सेटिंग्स को बदलने के लिए MaxFieldLength (प्रति हेडर आकार) और MaxRequestBytes (अनुरोध के कुल आकार) हैं

यद्यपि प्रत्येक वेब सर्वर सॉफ़्टवेयर में कुछ सीमाएं हैं, इसमें कोई फर्क नहीं पड़ता कि क्या HTTP अनुरोध पंक्ति के लिए हेडर फ़ील्ड या प्रत्येक हेडर क्षेत्र के लिए एक सीमा है।

यहाँ एक सारांश है:

  • अपाचे 1.3 , 2.0 , 2.2 , 2.3 : 8190 बाइट्स (प्रत्येक हेडर फ़ील्ड के लिए)
  • आईआईएस:
    • 4.0 : 20 9 7152 बाइट्स (अनुरोध लाइन के लिए हेडर फ़ील्ड के लिए)
    • 5.0 : 131072 बाइट्स , 16384 बाइट्स विन्डोज़ 2000 सर्विस पैक 4 (अनुरोध लाइन प्लस हैडर फ़ील्ड के लिए) के साथ
    • 6.0 : 16384 बाइट्स (प्रत्येक हेडर फ़ील्ड के लिए)
  • बिलाव:
    • 5.5.x / 6.0.x : 49152 बाइट्स (अनुरोध पंक्ति के लिए हेडर फ़ील्ड)
    • 7.0.x : 8190 बाइट्स (अनुरोध पंक्ति के लिए हेडर फ़ील्ड)

इसलिए निष्कर्ष निकालना: उपरोक्त सभी वेब सर्वरों द्वारा स्वीकार करने के लिए, एक अनुरोध के अनुरोध पंक्ति और शीर्ष लेख फ़ील्ड 8190 बाइट्स से अधिक नहीं होनी चाहिए । यह प्रत्येक हेडर फ़ील्ड के लिए सीमा भी है (प्रभावी रूप से भी कम)।

अपाचे के लिए, मैं अपाचे सुरक्षा लेख के लिए यह सर्वर सीमा पाया जो इन निर्देशों को सूचीबद्ध करता है:

# allow up to 100 headers in a request LimitRequestFields 100 # each header may be up to 8190 bytes long LimitRequestFieldsize 8190 

Nginx के लिए, HttpCoreModule से big_client_header_buffers निर्देश यह नियंत्रित करता है:

अनुरोध की सबसे लंबी हेडर रेखा भी एक बफर के आकार से अधिक नहीं होनी चाहिए, अन्यथा क्लाइंट को "खराब अनुरोध" (400) त्रुटि मिलती है।

डिफ़ॉल्ट रूप से एक बफर का आकार पृष्ठ के आकार के बराबर होता है, प्लेटफॉर्म के आधार पर यह या तो 4K या 8K होता है

जब आप सर्वर को कॉन्फ़िगर कर सकते हैं, तो यह संभावना नहीं है कि आप वास्तव में फायरवॉल, लोड बैलेंसर्स और प्रॉक्सी के माध्यम से पूरी तरह से कॉन्फ़िगर कर सकते हैं। हेडर साइज रखते हुए समस्याएं दूर रहती हैं

फ्लैश मीडिया सर्वर 4.5 में एक बहुत ही कम डिफ़ॉल्ट हेडर लंबाई सीमा है जो सर्वर को बस जवाब नहीं दे सकता है, खासकर उन परिस्थितियों में जहां एक सामान्य कुकी लोड है

देखें: फ्लैश मीडिया सर्वर 4.5 कॉन्फ़िगरेशन एंड एडमिनिस्ट्रेशन: सर्वर को कॉन्फ़िगर करना अपाचे HTTP सर्वर कॉन्फ़िगर करना: अधिकतम HTTP हेडर पंक्ति लंबाई निर्दिष्ट करें

फ्लैश मीडिया सर्वर एडाप्टर। एक्सएमएल फ़ाइल में, MaxHeaderLineLength तत्व HTTP शीर्षलेख के आकार को निर्धारित करता है जिसे सर्वर संभाल सकता है। MaxHeaderLineLength लिए डिफ़ॉल्ट मान 1024 बाइट्स है। कुछ ब्राउज़र्स 1024 बाइट्स से बड़ा शीर्षक भेजते हैं। इस परिदृश्य में, अपाचे एक खाली प्रतिक्रिया भेजता है इस समस्या को ठीक करने के लिए, 8192 तक MaxHeaderLineLength को कॉन्फ़िगर करें।

नोट: डिफ़ॉल्ट रूप से, अपाचे HTTP हैडर आकार की सीमा 8 KB (81 9 0 बाइट्स प्लस कैरिएस रिटर्न) है।

इसे यहां डालकर, फ्लैश मीडिया सर्वर पर हैडर आकार की सीमा किसी और को काटती है