विभिन्न ब्राउज़रों में URL की अधिकतम लंबाई कितनी है?


4837

विभिन्न ब्राउज़रों में URL की अधिकतम लंबाई कितनी है? क्या यह ब्राउज़रों के बीच भिन्न है?

क्या HTTP प्रोटोकॉल इसे निर्देशित करता है?


38
FWIW, Windows उपयोगकर्ताओं के लिए, URL का निर्माण करते समय 250 वर्णों से अधिक का सर्वर पथ दुःख का कारण बन सकता है, उदाहरण के लिए, HttpContext.Current.Server.MapPath देखें । मंचों पर लंबी फ़ाइल नामों के लिए विफल रहता है । निचला रेखा: यदि एक प्रतिबंध आपको नहीं मिलता है, तो दूसरा एक हो सकता है
gerryLowry

21
से support.microsoft.com/kb/208427 "अधिकतम URL लंबाई है 2,083 इंटरनेट एक्सप्लोरर में वर्ण"
gavenkoa

9
मैं पूछ सकता हूं कि आपको यह जानने की आवश्यकता क्यों है? यानी एक लंबा URL रखने के लिए उपयोग-मामला क्या है?
ओ ० '।

17
@ लोरिस: यदि कोई फॉर्म के getबजाय उपयोग करता है post, तो भरे हुए फॉर्म तक पहुंच चुके पेज को बुकमार्क करना दर्ज की गई जानकारी को कैप्चर करेगा। कुछ मामलों में, यह बुरा हो सकता है, लेकिन अन्य मामलों में यह उपयोगी हो सकता है। हालांकि, इसके लिए काम करने के लिए, ब्राउज़र को एक URL को संभालने में सक्षम होना चाहिए जिसमें सभी जानकारी हो।
सुपरकैट

4
@Lhoris जब हम रिपोर्ट बनाने के लिए पृष्ठ लिखते हैं तो हमने एक मापदंड प्रपत्र का उपयोग किया है। कुछ रिपोर्टों पर यह उपयोगी है कि किसी को बनाया गया मानदंड के साथ यूआरएल को ईमेल करने में सक्षम होना चाहिए। रिपोर्ट के आधार पर हम कई बार उपयोग करने के लिए मजबूर होते हैं postया मानदंड छोटा हो जाता है। बस एक और उपयोग मामला।
buzzsawddog

जवाबों:


4951

संक्षिप्त उत्तर - 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 चार्ट के तहत रहना सबसे अच्छी सामान्य नीति है।


83
ध्यान दें कि IE11 URL को 260 वर्णों से अधिक लंबा नहीं करेगा । मैं अनिश्चित हूँ अगर एज में एक ही सीमा है।
ब्रायन

10
आज IE11 ने मेरे URL को 2048 चार्ट में काट दिया।
एंटीकाज

2
मूल प्रश्न: " विभिन्न ब्राउज़रों में URL की अधिकतम लंबाई क्या है "। यह प्रश्न का उत्तर नहीं देता है, यह केवल IE के लिए देता है। लोग विभिन्न उद्देश्यों के लिए वेबसाइट बनाते हैं, उदाहरण के लिए आंतरिक उपकरण जो IE द्वारा एक्सेस किए जाएंगे।
स्कीट

13
2016 में क्रोम में मैं एक साधारण स्क्रिप्ट से ओएक्सएक्स ओपन कमांड का उपयोग करके 260300 एएससीआई चार्ट के साथ एक यूआरएल खोलने में सक्षम रहा हूं, और यह पुष्टि कर सकता है कि सभी वर्ण सर्वर के माध्यम से पारित किए गए थे। ब्राउज़र में url 32791 वर्णों में विभाजित हो जाता है, जिसके साथ समापन होता है ... (% E2% 80% A6% E2% 80% A6)
Rob Dawson

22
@Paul Dixon इस साइट पर प्रश्नों के उत्तर देने में ऊपर और परे जाने के इच्छुक लोगों को देखना वास्तव में अच्छा है। जाहिर है कि लोग 3734 के चालू अपवोट काउंट के साथ अपना आभार प्रकट कर रहे हैं, लेकिन मैं धन्यवाद कहना चाहता था! :)
२०० at१

170

मेरे द्वारा आया सबसे लंबा URL डेटा URL है

Google छवि परिणामों से उदाहरण छवि URL (11747 वर्ण)

data:image/jpeg;base64,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

36
वह इस तथ्य के बारे में बात कर रहा है कि बेस 64 एनकोडेड जेपीईजी तकनीकी रूप से एक URL है, क्योंकि यह डेटा के रूप में निर्दिष्ट है: *। हालांकि वह यह बताते हुए सही है कि यह एक मान्य URL है, मुझे नहीं लगता कि वह सवाल क्या पूछ रहा था।
फिटब्लिप

54
... या बस अपने एड्रेस बार में पेस्ट करें।
ग्रास डबल

108
यह एक URL नहीं एक URI है।
माइक

65
क्योंकि एक डेटा URL में प्रोटोकॉल "डेटा:", और पहचानकर्ता होता है, यह वह सब कुछ है जो आपको "फ़ाइल" (भले ही "फाइलसिस्टम" सभी संभावित फाइलों का स्थान है) को LOCATE करने की आवश्यकता है। इसलिए यह एक URL है, जो एक URI भी है। (लेकिन निश्चित रूप से "नहीं एक यूआरएल नहीं")
मिकलएच

5
@DoubleGras मैक के लिए Google Chrome मुझे अपने URL को लंबे समय तक अपने एड्रेस बार में पेस्ट करने की अनुमति नहीं देता
Max Nanasy

157

WWW अक्सर पूछे जाने वाले प्रश्न: URL की अधिकतम लंबाई क्या है? अनुभवजन्य परीक्षण और अनुसंधान के आधार पर इसका अपना उत्तर है। संक्षिप्त उत्तर यह है कि 2048 से अधिक अक्षर इंटरनेट एक्सप्लोरर को अप्रसन्न करते हैं और इस प्रकार यह वह सीमा है जिसका आपको उपयोग करना चाहिए। लंबे उत्तर के लिए पृष्ठ देखें।


153

मैंने यह परीक्षण लिखा था 'a'जो ब्राउज़र के विफल होने तक पैरामीटर को जोड़ता रहता है

सी # भाग:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ParamTest(string x)
{
    ViewBag.TestLength = 0;
    if (!string.IsNullOrEmpty(x))
    {
        System.IO.File.WriteAllLines("c:/result.txt",
                       new[] {Request.UserAgent, x.Length.ToString()});
        ViewBag.TestLength = x.Length + 1;
    }

    return View();
}

राय:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        var text = "a";
        for (var i = 0; i < parseInt(@ViewBag.TestLength)-1; i++) {
            text += "a";
        }

        document.location.href = "http://localhost:50766/Home/ParamTest?x=" + text;
    });
</script>

भाग 1

क्रोम पर मुझे मिला:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046

यह तब के साथ उड़ा दिया:

HTTP त्रुटि 404.15 - नहीं मिला अनुरोध फ़िल्टरिंग मॉड्यूल एक अनुरोध से इनकार करने के लिए कॉन्फ़िगर किया गया है जहां क्वेरी स्ट्रिंग बहुत लंबा है।

इंटरनेट एक्सप्लोरर 8 और फ़ायरफ़ॉक्स पर समान

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2046

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
2046

भाग 2

मैं आसान मोड में गया और IISExpress applicationhost.config और web.configसेटिंग में अतिरिक्त सीमाएं जोड़ींmaxQueryStringLength="32768"

Chrome failed with message 'Bad Request - Request Too Long

HTTP Error 400. The size of the request headers is too long.

7744 वर्णों के बाद।

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
7744

भाग 3

जोड़ा गया

<headerLimits>
    <add header="Content-type" sizeLimit="32768" />
</headerLimits>

जो बिल्कुल मदद नहीं की। मैंने अंततः हेडर से रेफ़र को हटाने के लिए फ़िडलर का उपयोग करने का निर्णय लिया।

static function OnBeforeRequest(oSession: Session) {
    if (oSession.url.Contains("localhost:50766")) {
        oSession.RequestHeaders.Remove("Referer");
    }

जो अच्छा किया।

क्रोम: 15613 वर्णों को मिला। (मुझे लगता है कि यह IIS के लिए 16K की सीमा है)

और यह फिर से विफल रहा:

<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>


Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
15613

फ़ायरफ़ॉक्स:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708

Internet Explorer 8 iexplore.exe क्रैश होने के साथ विफल हुआ।

यहां छवि विवरण दर्ज करें

2505 के बाद

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2505

Android एमुलेटर

Mozilla/5.0 (Linux; Android 5.1; Android SDK built for x86 Build/LKY45) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
7377

इंटरनेट एक्सप्लोरर 11

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

इंटरनेट एक्सप्लोरर 10

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

इंटरनेट एक्सप्लोरर 9

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
4043

तो, वास्तव में, 512 वर्णों की मेरी धारणा काफी हद तक गलत है ^ _ ^ परीक्षण के लिए धन्यवाद। मैं कभी भी क्वेरी परम लंबाई के बारे में परवाह नहीं करूंगा ..
गोगोल

17
यह स्वीकृत उत्तर होना चाहिए ... पहला वास्तव में प्रत्येक ब्राउज़र के लिए कठिन सीमाएं प्रदान नहीं करता है जो कि प्रश्न पूछता है।
ग्रेएडफोक्स

1
सफारी में भी देखने लायक हो सकता है। सफारी एकमात्र ऐसा ब्राउज़र है जो क्लाइंट-जनरेट किए गए डाउनलोड का समर्थन नहीं करता है। वर्कअराउंड इस प्रकार हैं: ए) एक नई विंडो में एक बीओबी यूआरआई (एक छोटी, अस्थायी यूआरआई जो इन-मेमोरी ब्लोब की ओर इशारा करती है) खोलें, बी) एक नई विंडो में एक बेस -64 एनकोडेड डेटा यूआरआई खोलें (बहुत लंबा हो सकता है) लेकिन माइम टाइपिंग का समर्थन करता है)। यहाँ विवरण: github.com/eligrey/FileSaver.js/issues/12
Mat Gessel

@Vaitkevicius यू जानते हैं कि क्या एक स्थान (% 20) को एक वर्ण या 3 के रूप में गिना जाता है?
जून 28११

1
@ जून निर्भर करता है कि ... F12 दबाएं और कंसोल में निम्नलिखित पेस्ट console.log("%20".length +" "+decodeURI("%20").length)करें, इसे स्पष्ट करना चाहिए
Matas Vaitkevicius

96

वास्तव में कोई सार्वभौमिक अधिकतम URL लंबाई नहीं है। अधिकतम लंबाई केवल उस ग्राहक द्वारा निर्धारित की जाती है जो क्लाइंट ब्राउज़र समर्थन के लिए चुनता है, जो व्यापक रूप से भिन्न होता है। 2,083 सीमा केवल इंटरनेट एक्सप्लोरर (7.0 तक सभी संस्करण) में मौजूद है। फ़ायरफ़ॉक्स और सफारी में अधिकतम लंबाई असीमित लगती है, हालांकि अस्थिरता URL के साथ लगभग 65,000 वर्णों तक पहुंचती है। लगता है कि ओपेरा में कोई अधिकतम URL लंबाई नहीं है, और यह बहुत लंबी लंबाई में अस्थिरता का सामना नहीं करता है।


8
यदि अस्थिरता 65k के आसपास है, तो संभवतः यह 65535 (2 ^ 16 - 1) के पास है। हो सकता है कि वे शॉर्ट आई का उपयोग करते हुए चर के माध्यम से लूप करें? सिर्फ एक विचार। मुझे आश्चर्य है कि 65k + o_o के लिए उन्होंने किस URL का परीक्षण किया;
गार्ट क्लैबोर्न

5
यह उत्तर शायद वह है जिसे स्वीकार किया जाना चाहिए, क्योंकि यह ठोस उत्तर प्रदान करता है: IE के लिए 2k, सफारी / फ़ायरफ़ॉक्स के लिए 65k, ओपेरा के लिए "अधिक"।
आईस

मैं उत्सुक हूँ। क्या 65k URL एक डेटा स्कीम URI है या वास्तव में क्लासिक अर्थों में एक URL है?
सैटॉमिक

81

Apple प्लेटफ़ॉर्म (iOS / macOS / tvOS / watchOS) पर, सीमा 2 जीबी लंबी URL योजना हो सकती है , जैसा कि स्विफ्ट के स्रोत कोड में इस टिप्पणी द्वारा देखा गया है :

// Make sure the URL string isn't too long.
// We're limiting it to 2GB for backwards compatibility with 32-bit executables using NS/CFURL
if ( (urlStringLength > 0) && (urlStringLength <= INT_MAX) )
{
...

IOS पर, मैंने परीक्षण किया है और पुष्टि की है कि 300+ एमबी लंबा URL भी स्वीकार किया गया है। आप इस तरह के एक लंबे URL को Objective-C में आज़मा सकते हैं:

NSString *path = [@"a:" stringByPaddingToLength:314572800 withString:@"a" startingAtIndex:0];
NSString *js = [NSString stringWithFormat:@"window.location.href = \"%@\";", path];
[self.webView stringByEvaluatingJavaScriptFromString:js];

और अगर यह साथ सफल हो तो पकड़ें:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"length: %@", @(request.URL.absoluteString.length));
    return YES;
}

74
आप एक 300MB URL की कोशिश करने के लिए सिर्फ एक पात्र के लायक हैं
Дамян Станчев

3
iOS अपने आप में एक ब्राउज़र नहीं है। क्या यह सफारी आईओएस के लिए था?
रान्डेल

6
@ रैंडल योजनाओं को ओएस द्वारा नियंत्रित किया जाता है और फिर उस ऐप को भेजा जाता है जो उन्हें खोल सकता है। तो सफारी सहित iOS पर सभी ऐप लंबे यूआरआई को संभाल सकते हैं।
Cœur

1
स्पष्टीकरण के लिए धन्यवाद। संभवतः, हालांकि, यह एक मनमाना ऐप (जैसे, एक टो-संचालित ब्राउज़र) को अपनी लंबाई प्रतिबंध शुरू करने से रोकता है, सही नहीं है?
रान्डेल

1
@ रैंडल सही लेकिन कोई ऐसा क्यों करेगा ...
Xander

70

यूआरआई आरएफसी (जिनमें से यूआरएल सबसेट हैं) अधिकतम लंबाई को परिभाषित नहीं करता, तथापि, यह है की सलाह देते हैं कि यूआरआई की होस्टनाम हिस्सा (यदि लागू हो) की लंबाई 255 वर्णों से अधिक नहीं:

URI उत्पादकों को उन नामों का उपयोग करना चाहिए जो DNS सिंटैक्स के अनुरूप होते हैं, तब भी जब DNS का उपयोग तुरंत स्पष्ट नहीं होता है, और इन नामों को लंबाई में 255 से अधिक वर्णों तक सीमित नहीं करना चाहिए।

जैसा कि अन्य पोस्ट में उल्लेख किया गया है, कुछ ब्राउज़र में URL की लंबाई पर व्यावहारिक सीमा होती है।


55

HTTP 1.1 विनिर्देश का कहना है:

HTTP में
URI को उनके उपयोग के संदर्भ के आधार पर निरपेक्ष रूप में या किसी ज्ञात आधार URI [11] के सापेक्ष प्रस्तुत किया जा सकता है । दो
रूपों को इस तथ्य से विभेदित किया जाता है कि निरपेक्ष यूआरआई हमेशा
एक योजना नाम से शुरू होते हैं जिसके बाद एक बृहदान्त्र होता है।
URL सिंटैक्स और शब्दार्थ के बारे में निश्चित जानकारी के लिए , "यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI): जेनेरिक सिंटैक्स और शब्दार्थ," RFC 2396 [42] (जो RFC 1738 [4] और RFC 1808 [11] की जगह लेता है) देखें। यह विनिर्देश उस विनिर्देश से "URI- संदर्भ", "निरपेक्षता
", "सापेक्षी", " पोर्ट", "होस्ट", "abs_path", "rel_path" और "प्राधिकरण" की परिभाषाओं को अपनाता है

HTTP प्रोटोकॉल किसी
URI की लंबाई पर कोई प्राथमिकता सीमा नहीं रखता है । सर्वर की सेवा किसी भी संसाधन के URI को प्रबंधित करने में सक्षम होना चाहिए, और असीम लंबाई की यूआरआई को संभालने के लिए अगर वे प्राप्त आधारित रूपों है कि इस तरह के यूआरआई उत्पन्न कर सकता है प्रदान करते हैं सक्षम होना चाहिए। *
एक सर्वर लौटना चाहिए 414 (अनुरोध URI बहुत लंबा है) यदि सर्वर से हैंडल किया जा सकता है तो स्थिति URI है (खंड 10.4.15 देखें)।

नोट: सर्वर को 255 बाइट्स के ऊपर URI लंबाई के आधार पर सतर्क रहना चाहिए, क्योंकि कुछ पुराने क्लाइंट या प्रॉक्सी कार्यान्वयन इन लंबाई का ठीक से समर्थन नहीं कर सकते हैं।

जैसा कि @Brian द्वारा उल्लेख किया गया है, HTTP क्लाइंट (जैसे ब्राउज़र) की अपनी सीमाएँ हो सकती हैं, और HTTP सर्वर की अलग-अलग सीमाएँ होंगी।


47

Microsoft समर्थन का कहना है "इंटरनेट एक्सप्लोरर में अधिकतम URL की लंबाई 2,083 वर्ण है"।

IE में URL की तुलना में समस्याएं अधिक हैं। फ़ायरफ़ॉक्स> 4k वर्ण के साथ ठीक काम करने लगता है।


39

में यूआरएल यूआई के रूप में जेकब नीलसन की सिफारिश की:

वेब पर सामाजिक इंटरफ़ेस ईमेल पर निर्भर करता है, जब उपयोगकर्ता एक-दूसरे को वेब पेजों की सिफारिश करना चाहते हैं, और ईमेल दूसरा सबसे आम तरीका है जो उपयोगकर्ता नई साइटों (खोज इंजनों के सबसे आम होने) के लिए प्राप्त करते हैं: सुनिश्चित करें कि आपके सभी URL साइट 78 वर्णों से कम लंबी है ताकि वे एक पंक्ति फ़ीड में नहीं लपेटें।

यह अधिकतम नहीं है, लेकिन यदि आप अपने URL को साझा करना चाहते हैं तो मैं इसे एक व्यावहारिक अधिकतम मानूंगा।


3
मुझे आश्चर्य है कि "78" कहाँ से आता है? हो सकता है कि मूल 1999 का लेख इस धारणा के तहत लिखा गया था कि लोग 80x24 टर्मिनल खिड़कियों में अपना ईमेल पढ़ रहे हैं? फिर भी, अच्छी सलाह!
जॉन श्नाइडर

3
कुंआ। आईबीएम पंच कार्ड भी 80 कॉलम थे। कैरेज रिटर्न और लाइन फीड द्वारा आपको मिले दो किरदारों से आपको 78 मिलते हैं।
पॉल मॉर्गन

1
Haha। :-) मैं वास्तव में अपनी टिप्पणी में 1981-युग 80x25 CGA मॉनिटर का संदर्भ देने पर विचार कर रहा था, लेकिन आप इससे भी आगे पहुँच गए! ... मैं पंच कार्ड युग के लिए आसपास नहीं था, लेकिन क्या वे 80 बाइट भर में थे, या केवल 80 बिट्स थे?
जॉन श्नाइडर

1
बिल्कुल बाइट नहीं (8 बिट्स)। इसने प्रत्येक कॉलम में एक वर्ण को इनकोड किया।
पॉल मॉर्गन

3
@JonSchneider - 78 काफी विशिष्ट है, और यह पाठ की पठनीयता से संबंधित हो सकता है (नीलसन की पृष्ठभूमि को देखते हुए प्रयोज्य परिप्रेक्ष्य से), जो 50-60 के बीच सबसे अच्छा है , और अधिकतम 75 है
जे राईनी

36

साइटमैप प्रोटोकॉल , जो वेबमास्टरों को अपनी साइटों पर पृष्ठों के बारे में खोज इंजन को सूचित करने का एक तरीका है (यह भी वेबमास्टर टूल में Google द्वारा उपयोग किया जाता है), 2048 से कम वर्णों वाले URL का समर्थन करता है। इसलिए यदि आप खोज इंजन अनुकूलन के लिए इस सुविधा का उपयोग करने की योजना बना रहे हैं, तो इसे ध्यान में रखें।


यह थोड़ा भ्रमित करने वाला है। साइटमैप प्रोटोकॉल "2048 से कम वर्णों वाले URL का समर्थन करता है।" मैंने कल्पना की कि example.com जैसी साइट काम करेगी। मुझे लगता है कि यह सवाल अधिकतम के बारे में अधिक है?
होल्डऑफ ह्यूंगर

19

ASP.NET 2 और SQL सर्वर रिपोर्टिंग सेवा 2005 की सीमा 2028 है। मुझे यह कठिन तरीका लगा, जहाँ मेरा डायनामिक URL जनरेटर उस बिंदु से परे एक रिपोर्ट के लिए कुछ मापदंडों को पार नहीं करेगा। यह इंटरनेट एक्सप्लोरर 8 के तहत था।


18

Internet Explorer की सीमा केवल 2K क्यों है जबकि IIS में 16K की सीमा है? मुझे नहीं लगता कि यह समझ में आता है।

इसलिए मैं अजाक्स अनुरोध URL आकार सीमाओं के बारे में एक प्रयोग शुरू करना चाहता हूं।

मैंने अपना Tomcat HTTP कनेक्टर का maxHttpHeaderSize = "1048576" सेट किया है। और एक बहुत लंबा URL तैयार किया।

फिर मैं निम्नलिखित जैसे लंबे URL के साथ एक अनुरोध भेजता हूं:

var url="/ajax/url-length.jsp";
jQuery.ajax(url,{data:{q:"0".repeat(1048000-url.length-4)}});

jQuery की रिपोर्ट टॉमकैट द्वारा अनुरोधित URL की रिपोर्ट 1048015 बाइट्स है। यह क्रोम 50 और इंटरनेट एक्सप्लोरर 11 के साथ परीक्षण किया गया था।

अजाक्स अनुरोध भेजने पर वेब ब्राउज़र जानबूझकर आपके URL को छोटा या सीमित नहीं करेंगे।


4
Internet Explorer और IIS के बीच भिन्नता तब समझ में आती है जब आप समझते हैं कि वेब सर्वर के सभी अनुरोध ब्राउज़र के माध्यम से नहीं किए जाते हैं।
ट्रॉयसेवेन

15

सीमा अनुरोध लाइन निर्देश URL की अधिकतम लंबाई निर्धारित करता है। डिफ़ॉल्ट रूप से, यह 8190 पर सेट है, जो आपको बहुत जगह देता है। हालाँकि अन्य सर्वर और कुछ ब्राउज, लंबाई अधिक सीमित करते हैं।

क्योंकि सभी पैरामीटर URL लाइन पर पास किए गए हैं, जो आइटम छिपे हुए फ़ील्ड के पासवर्ड में थे, उन्हें भी निश्चित रूप से URL में प्रदर्शित किया जाएगा। वास्तविक सुरक्षा उपायों के लिए न तो मोबाइल का उपयोग किया जाना चाहिए और न ही कॉस्मेटिक सुरक्षा पर सबसे अच्छा विचार किया जाना चाहिए।


11

मुझे SharePoint 2007, 2010 के साथ अनुभव है और इस मामले में SharePoint की ओर से आपके द्वारा बनाए जा सकने वाले लंबाई URL की एक सीमा है, इसलिए यह क्लाइंट (ब्राउज़र, संस्करण और OS) और 2) पर निर्भर करता है। सर्वर तकनीक, IIS, Apache, आदि।


1
क्योंकि SharePoint वेब URL को फ़ाइल पथ के रूप में उजागर करता है, यह एक अलग सीमा में चलता है: Windows फ़ाइल पथ की लंबाई 260 वर्ण (या एक एपीआई का उपयोग करते समय 248 वर्ण)। इस सीमा के बारे में अधिक जानकारी के लिए, यहां "अधिकतम पथ लंबाई सीमा" अनुभाग देखें: msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
Thiggle

10

ऐसा लगता है कि क्रोम ने कम से कम यह सीमा बढ़ाई है। मैंने 20,000 वर्णों को बुकमार्कलेट में चिपकाया और इसे लिया।


1

HTTP कल्पना के अनुसार, URL की लंबाई की कोई सीमा नहीं है। अपने URL को 2048 वर्णों के अंतर्गत रखें; यह सभी क्लाइंट और सर्वर कॉन्फ़िगरेशन में URL को सुनिश्चित करेगा। इसके अलावा, खोज इंजन जैसे कि URL लगभग 2000 वर्णों के अंतर्गत रहते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.