संक्षिप्त उत्तर - 2000 वर्णों की वास्तविक सीमा
यदि आप 2000 वर्णों के अंतर्गत URL रखते हैं, तो वे ग्राहक और सर्वर सॉफ़्टवेयर के किसी भी संयोजन में काम करेंगे।
यदि आप विशेष ब्राउज़रों को लक्षित कर रहे हैं, तो अधिक विवरण विशिष्ट सीमाओं के लिए नीचे देखें।
लंबे उत्तर - पहले, मानकों ...
RFC 2616 (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल HTTP / 1.1) सेक्शन 3.2.1 कहता है
HTTP प्रोटोकॉल किसी URI की लंबाई पर कोई प्राथमिकता सीमा नहीं रखता है। सर्वर को उनके द्वारा दी जाने वाली किसी भी संसाधन के URI को संभालने में सक्षम होना चाहिए, और यदि वे ऐसे URI उत्पन्न कर सकते हैं जो GET- आधारित प्रपत्र प्रदान करते हैं, तो वे बिना किसी लम्बाई के URI को संभाल सकते हैं। एक सर्वर SHOULD 414 (रिक्वेस्ट-यूआरआई लॉन्ग) स्टेटस लौटाता है, अगर URI सर्वर से ज्यादा लंबे समय तक हैंडल कर सकता है (सेक्शन 10.4.15 देखें)।
उस RFC को RFC7230 द्वारा मान लिया गया है जो HTTP / 1.1 विनिर्देश का एक ताज़ा विवरण है। इसमें समान भाषा शामिल है, लेकिन यह सुझाव देने के लिए भी जाता है:
व्यवहार में अनुरोध-लाइन लंबाई पर विभिन्न तदर्थ सीमाएं पाई जाती हैं। यह सिफारिश की जाती है कि सभी HTTP प्रेषक और प्राप्तकर्ता, 8000 ऑक्टेट की न्यूनतम, अनुरोध-पंक्ति की लंबाई पर समर्थन करते हैं।
... और वास्तविकता
मानकों का यही कहना है। के लिए वास्तविकता है, वहाँ पर एक लेख था boutell.com (लिंक इंटरनेट का संग्रह बैकअप के लिए चला जाता है) पर चर्चा की अलग-अलग ब्राउज़र और सर्वर के कार्यान्वयन क्या समर्थन करेंगे। कार्यकारी सारांश है:
अत्यधिक लंबे URL आमतौर पर एक गलती हैं। 2,000 से अधिक वर्ण वाले URL सबसे लोकप्रिय वेब ब्राउज़र में काम नहीं करेंगे। यदि आप इंटरनेट उपयोगकर्ताओं के बहुमत के लिए काम करने के लिए अपनी साइट का इरादा रखते हैं तो उनका उपयोग न करें।
(नोट: यह 2006 में लिखे गए एक लेख का एक उद्धरण है , लेकिन 2015 में IE के घटते उपयोग का मतलब है कि अब बहुमत के लिए URL करते हैं। हालाँकि, IE में अभी भी सीमा है ...)
इंटरनेट एक्सप्लोरर की सीमाएँ ...
IE8 की अधिकतम URL लंबाई 2083 वर्ण है , और ऐसा लगता है कि IE9 की एक समान सीमा है ।
मैंने IE10 का परीक्षण किया है और पता बार केवल 2083 वर्णों को स्वीकार करेगा। आप एक URL पर क्लिक कर सकते हैं जो इससे अधिक लंबा है, लेकिन पता बार अभी भी इस लिंक के केवल 2083 अक्षर दिखाएगा।
आईई इंटर्नल्स ब्लॉग पर एक अच्छा राइटअप है जो इस पृष्ठभूमि में से कुछ में जाता है।
मिश्रित रिपोर्टें हैं IE11 लंबी URLS का समर्थन करता है - नीचे टिप्पणियां देखें। कुछ लोगों के मुद्दों की रिपोर्ट को देखते हुए, सामान्य सलाह अभी भी है।
URL <2048 वर्ण जैसे खोज इंजन ...
ध्यान रखें कि साइटमैप प्रोटोकॉल , जो किसी साइट को उपलब्ध पृष्ठों के बारे में खोज इंजन को सूचित करने की अनुमति देता है, एक URL में 2048 वर्णों की सीमा होती है। यदि आप साइटमैप का उपयोग करने का इरादा रखते हैं, तो आपके लिए एक सीमा तय की गई है! ( नीचे देखें कैलिन-आंद्रेई बर्लोइउ का जवाब )
अधिकतम URL लंबाई में 2010 से कुछ शोध भी हैं जो खोज इंजन क्रॉल और इंडेक्स करेंगे । उन्होंने पाया कि सीमा 2047 वर्ण थी, जो साइटमैप प्रोटोकॉल युक्ति से संबद्ध है। हालाँकि, उन्होंने यह भी पाया कि Google SERP टूल 1855 वर्णों से अधिक समय तक URLs का सामना नहीं करेगा।
CDN की सीमाएँ हैं
CDNs भी URI की लंबाई पर सीमाएं लगाते हैं, और 414 Too long request
जब ये सीमाएँ समाप्त हो जाती हैं, तो उदाहरण के लिए:
(टिप्पणियों में यह जानकारी देने के लिए timrs2998 का श्रेय)
अतिरिक्त ब्राउज़र राउंडअप
मैंने एक बहुत बड़े LimitRequestLine और LimitRequestFieldSize के साथ कॉन्फ़िगर किए गए Apache 2.4 सर्वर के खिलाफ निम्नलिखित का परीक्षण किया ।
Browser Address bar document.location
or anchor tag
------------------------------------------
Chrome 32779 >64k
Android 8192 >64k
Firefox >64k >64k
Safari >64k >64k
IE11 2047 5120
Edge 16 2047 10240
नीचे माटस वैतवेविसियस का यह उत्तर भी देखें ।
क्या यह जानकारी आज तक है?
यह एक लोकप्रिय सवाल है, और जैसा कि मूल शोध ~ 12 साल पुराना है, मैं इसे आज तक बनाए रखने की कोशिश करूंगा: जनवरी 2020 तक , सलाह अभी भी बरकरार है। भले ही IE11 संभवतः लंबे समय तक URL को स्वीकार कर सकता है, पुराने IE इंस्टॉलेशन की सर्वव्यापकता और खोज इंजन की सीमा का मतलब है कि 2000 चार्ट के तहत रहना सबसे अच्छी सामान्य नीति है।