2012-01-21 12 views
29

क्या कोई कारण है कि हम http/https प्रोटोकॉल को href लिंक पर विशेषता देते हैं?एचटीएमएल - http प्रोटोकॉल के बिना लिंक

यह सिर्फ इसे बंद छोड़ने के लिए ठीक नहीं होगा:

<a href="example.com">my site</a> 
+0

धन्यवाद @Gareth अच्छा स्पष्टीकरण! –

+7

यूआरएल का हिस्सा जो एक लिंक बनाता है बाहरी रूप से // // प्रोटोकॉल नहीं है। प्रोटोकॉल केवल कंप्यूटर को बताता है कि लिंक पर किस डिवाइस का उपयोग करना है। आप "http://example.com", https://example.com, ftp://example.com या सिर्फ //example.com से लिंक कर सकते हैं। उत्तरार्द्ध बताते हुए कि आपको अपने वर्तमान क्लाइंट के प्रोटोकॉल (आमतौर पर एक ब्राउज़र http/https, लेकिन एक ईमेल क्लाइंट इत्यादि हो सकता है) का उपयोग करना चाहिए और जब आप http और https प्रोटोकॉल दोनों चल रहे किसी साइट पर विचार करते हैं तो यह बेहद उपयोगी होता है। –

उत्तर

84

"http:" या "https:" भाग शामिल करना आंशिक रूप से केवल परंपरा का मामला है, आंशिक रूप से प्रोटोकॉल को निर्दिष्ट करने का मामला है। यदि यह डिफ़ॉल्ट है, तो वर्तमान पृष्ठ का प्रोटोकॉल उपयोग किया जाता है; उदाहरण के लिए, //www.example.com संदर्भ पृष्ठ के यूआरएल के आधार पर http://www.example.com या https://www.example.com बन जाता है। यदि कोई वेब पेज स्थानीय डिस्क पर सहेजा जाता है और फिर वहां से खोला जाता है, तो इसमें कोई प्रोटोकॉल नहीं होता है (केवल फ़ाइल: छद्म-प्रोटोकॉल), इसलिए //www.example.com जैसे यूआरएल काम नहीं करेंगे; तो यहां "http:" या "https:" भाग शामिल करने का एक कारण है।

भी "//" भाग को छोड़कर पूरी तरह से एक अलग मुद्दा है, यूआरएल को एक सापेक्ष यूआरएल में बदलना जिसे वर्तमान बेस यूआरएल के सापेक्ष समझा जाएगा।

www.example.com ब्राउज़र की एड्रेस लाइन पर टाइप या चिपकाए जाने का कारण यह है कि रिश्तेदार यूआरएल वहां समझ में नहीं आएंगे (संबंधित कोई आधार यूआरएल नहीं है), इसलिए ब्राउजर विक्रेताओं ने " http: // "उपसर्ग वहाँ।

-1

http के बिना, यह सापेक्ष URL ले जाएगा। यदि आपको बाहरी यूआरएल को इंगित करना है, तो http को निर्दिष्ट करने की आवश्यकता है, अन्यथा यह आपको स्थानीय संसाधन लेने की कोशिश करेगा।

तो, यह इस बात पर निर्भर करता है कि आप कहां इंगित करना चाहते हैं।

+6

झूठी। मेजबान को "//" से शुरू करके प्रोटोकॉल के बिना निर्दिष्ट किया जा सकता है: "//www.example.com/blah/blah" – NVRAM

+0

यह इंगित करने के लिए लिंक कि किसी भी http (या //) के बिना संबंधों को सापेक्ष पथ माना जाता है। जैसा कि @ एनवीआरएएम ने बताया)। मैं यूआरएल की जांच करके और "//" डालने से अपने मुद्दे को हल करने में सक्षम था अगर इसमें "http" नहीं था। यह बहुत अच्छा काम किया। तुम दोनों का धन्यवाद –

1

href में URL केवल HTTP दस्तावेज़ों तक ही सीमित नहीं हैं। वे ब्राउज़र- ftp, mailto, फ़ाइल इत्यादि द्वारा समर्थित सभी प्रोटोकॉल का समर्थन करते हैं

इसके अलावा, आप पृष्ठ में आंतरिक रूप से HTML आईडी से लिंक करने के लिए '#' के साथ URL नाम को आगे बढ़ा सकते हैं। आप प्रोटोकॉल के बिना सिर्फ नाम या निर्देशिका पथ दे सकते हैं, जिसे एक सापेक्ष यूआरएल के रूप में लिया जाएगा।

संबंधित मुद्दे