मैंने सुना है कि HTTP POST की डेटा साइज़ में कोई विनिर्देशन सीमा नहीं है जिसे इसके द्वारा भेजा जा सकता है। क्या यह सच है या क्या वास्तव में कुछ उच्च सीमा है?
जवाबों:
EDIT (2019) यह उत्तर अब बहुत बेमानी है, लेकिन अधिक प्रासंगिक जानकारी के साथ एक और उत्तर है ।
यह वेब सर्वर और वेब ब्राउज़र पर निर्भर करता है:
इंटरनेट एक्सप्लोरर सभी संस्करणों 2GB-1
मोज़िला फ़ायरफ़ॉक्स सभी संस्करणों 2GB-1
IIS 1-5 2GB-1
IIS 6 4GB-1
हालाँकि IIS केवल डिफ़ॉल्ट रूप से 200KB का समर्थन करता है, मेटाबेस को इसे बढ़ाने के लिए संशोधन की आवश्यकता होती है।
http://www.motobit.com/help/scptutl/pa98.htm
स्वयं POST विधि में डेटा के आकार की कोई सीमा नहीं है।
काफी आश्चर्यजनक है कि सभी उत्तर IIS के बारे में कैसे बात करते हैं, जैसे कि वे एकमात्र वेब सर्वर थे जो मायने रखते थे। 2010 में भी जब सवाल पूछा गया था, तो अपाचे के पास 60% और 70% बाजार हिस्सेदारी थी । वैसे भी,
min(serverMaximumSize, clientMaximumSize)
।अधिक लोकप्रिय HTTP सर्वरों में से कुछ के लिए POST बॉडी साइज इस प्रकार हैं:
HTTP प्रोटोकॉल के अनुसार कोई सीमा नहीं है, लेकिन कार्यान्वयन में एक व्यावहारिक ऊपरी सीमा होगी। मैंने पोस्ट अपाचे का उपयोग करके 4 जीबी से अधिक डेटा भेजा है, लेकिन कुछ सर्वरों की उस समय 4 जीबी की सीमा थी।
LimitRequestBody
निर्देश पर एक ऊपरी सीमा को लागू करना शुरू कर दिया ।
POST एक सर्वर को भेजे जाने के लिए डेटा की एक मनमानी लंबाई की अनुमति देता है, लेकिन टाइमआउट / बैंडविड्थ आदि के आधार पर सीमाएं हैं।
मुझे लगता है कि मूल रूप से, यह मान लेना सुरक्षित है कि बहुत सारा डेटा भेजना ठीक नहीं है ।
विभिन्न आईआईएस वेब सर्वर 'हेडर' में अलग-अलग मात्रा में डेटा संसाधित कर सकते हैं, इस (अब हटाए गए) लेख के अनुसार; http://classicasp.aspfaq.com/forms/what-is-the-limit-on-form/post-parameters.html ;
ध्यान दें कि आपके द्वारा पोस्ट किए जाने वाले FORM तत्वों की संख्या की कोई सीमा नहीं है, लेकिन केवल सभी नाम या मूल्य जोड़े के कुल आकार पर। जबकि GET 1024 वर्णों तक सीमित है, POST डेटा IIS 4.0 पर 2 MB और IIS 5.0 पर 128 KB तक सीमित है। प्रत्येक नाम / मूल्य एसजीएमएल कल्पना द्वारा लगाए गए 1024 वर्णों तक सीमित है। बेशक यह enctype = 'multipart / form-data' का उपयोग करके अपलोड की गई फ़ाइलों पर लागू नहीं होता है ... मुझे IIS 5.0 का उपयोग करते हुए सर्वर - scriptTimeout मान बढ़ाने के लिए अलग से 90 - 100 MB रेंज में फ़ाइलों को अपलोड करने में कोई समस्या नहीं हुई है साथ ही साथ मेरा धैर्य!
एक आवेदन में मैं विकसित कर रहा था मैं 2KB के बारे में एक POST सीमा के रूप में दिखाई दिया। यह पता चला है कि मैं गलती से मापदंडों को URL में एन्कोडिंग कर रहा था बजाय उन्हें शरीर में पारित करने के। इसलिए यदि आप वहां किसी समस्या में चल रहे हैं, तो निश्चित रूप से POST डेटा के आकार की एक बहुत छोटी सीमा है जिसे आप URL में एन्कोडेड भेज सकते हैं।
HTTP की ऊपरी सीमा नहीं हो सकती है, लेकिन webservers में एक हो सकता है। ASP.NET में 4 MB की डिफ़ॉल्ट स्वीकार-सीमा होती है, लेकिन आप (डेवलपर / वेबमास्टर) इसे उच्च या निम्नतर कर सकते हैं।