URL बिना "http | https"


89

मैंने अभी-अभी एक सहकर्मी से सीखा है कि एक लिंक में URL के "http | https" भाग को छोड़ देने से वह URL उपयोग कर लेगा, जो भी पृष्ठ उस योजना का उपयोग करता है।

उदाहरण के लिए, यदि मेरा पृष्ठ http://www.example.com पर पहुँचा है और मेरे पास एक लिंक है (सामने की ओर '//' देखें):

<a href="https://www.google.com">Google</a>

वह लिंक http://www.google.com पर जाएगा

लेकिन अगर मैं उसी लिंक के साथ https://www.example.com पेज पर पहुँचता हूँ , तो यह https://www.google.com पर जाएगा

मैं इस बारे में अधिक जानकारी के लिए ऑनलाइन देखना चाहता था, लेकिन मुझे एक अच्छे खोज वाक्यांश के बारे में सोचने में परेशानी हो रही है। अगर मैं "HTTP विदाउट एचटीटीपी" खोजता हूं तो जो पेज लौटे हैं वे इस फॉर्म के साथ यूआरएल के बारे में हैं: "www.example.com", जो कि मैं नहीं देख रहा हूं।

क्या आप उस योजनाबद्ध URL को कॉल करेंगे? एक प्रोटोकॉल-कम URL?

क्या यह सभी ब्राउज़रों में काम करता है? मैंने FF और IE 8 में इसका परीक्षण किया और दोनों में काम किया। क्या यह एक मानक का हिस्सा है, या मुझे अधिक ब्राउज़रों का परीक्षण करना चाहिए?



1
संदर्भ के लिए (चूंकि आपने पूछा था कि खोज करने के लिए क्या शर्तें हैं), Google खोज जिसने मुझे मूल StackOverflow प्रश्न पर लाया: "प्रोटोकॉल के बिना पूर्ण यूआरएल"
डेविड

आप यह निर्दिष्ट नहीं कर रहे हैं कि क्या इसका http या https इसलिए ब्राउज़र अंतिम पृष्ठ लेते हुए आपके लिए यह तय करता है कि लिंक उसी पृष्ठ से आया है।
किरण

धन्यवाद डेविड, डुप्लिकेट के लिंक ने मेरे सभी सवालों के जवाब दिए
14:00

1
@ डेविड: वास्तव में, यदि आपके पास प्रोटोकॉल नहीं है, तो आप इसे एक पूर्ण URL नहीं कहेंगे; यह एक सापेक्ष URL नहीं है।
गुमबो

जवाबों:


73

प्रोटोकॉल सापेक्ष URL

आपको कुछ ब्राउज़रों में असामान्य सुरक्षा चेतावनी मिल सकती है।

संक्षिप्त परिभाषा के लिए विकिपीडिया प्रोटोकॉल-सापेक्ष URL भी देखें ।

एक समय में, यह सिफारिश की गई थी ; लेकिन आगे जाकर, इसे टाला जाना चाहिए

स्टैक ओवरफ्लो प्रश्न भी देखें प्रोटोकॉल-सापेक्ष URL का उपयोग क्यों करें?


15

इसे नेटवर्क-पथ संदर्भ कहा जाता है (जो भाग गायब है उसे RFC3986 धारा 4.2 में परिभाषितscheme या कहा जाता है protocol)

४.२ सापेक्ष संदर्भ

एक सापेक्ष संदर्भ किसी अन्य पदानुक्रमित URI के नाम स्थान के सापेक्ष URI संदर्भ को व्यक्त करने के लिए पदानुक्रमित वाक्य रचना (धारा 1.2.3) का लाभ उठाता है।

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

URI को एक सापेक्ष संदर्भ द्वारा संदर्भित किया जाता है, जिसे लक्ष्य URI के रूप में भी जाना जाता है, धारा 5 के संदर्भ संकल्प एल्गोरिथ्म को लागू करके प्राप्त किया जाता है।

एक रिश्तेदार संदर्भ जो दो स्लैश पात्रों से शुरू होता है, उसे नेटवर्क-पथ संदर्भ (जोर मेरा) कहा जाता है ; ऐसे संदर्भों का उपयोग शायद ही कभी किया जाता है। एक एकल स्लेश चरित्र के साथ शुरू होने वाले सापेक्ष संदर्भ को एक पूर्ण-पथ संदर्भ कहा जाता है। एक रिश्तेदार संदर्भ जो एक स्लैश चरित्र से शुरू नहीं होता है, उसे एक रिश्तेदार-पथ संदर्भ कहा जाता है।

एक पथ खंड जिसमें एक बृहदान्त्र वर्ण होता है (उदाहरण के लिए, "यह: यह") एक रिश्तेदार-पथ संदर्भ के पहले खंड के रूप में उपयोग नहीं किया जा सकता है, क्योंकि यह एक योजना के नाम के लिए गलत होगा। इस तरह के एक खंड को एक रिश्तेदार-पथ संदर्भ बनाने के लिए डॉट-सेगमेंट (जैसे, "./is:that") से पहले होना चाहिए।


// html में आधार टैग में इस्तेमाल नहीं किया जा सकता है। मैंने <base href = "// abc.com/" और एक रिश्तेदार छवि url <img src = "/ img / logo.jpg> सेट की है। हालांकि, ब्राउज़र पर खोले जाने पर, छवि लिंक फ़ाइल बन जाएगी: /// abc। com / img / logo.jpg। किसी भी प्रकार का हल?
स्कॉट चू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.