सवाल फ़ाइल यूआरएल 3 स्लैश के साथ क्यों शुरू होता है?


HTTP दो स्लेश के साथ शुरू होता है। जैसे http://example.com

एफ़टीपी के लिए चला जाता है। जैसे ftp://example.com

हालांकि, फ़ाइल "यूआरएल" तीन स्लेश से शुरू होती है। जैसे क्रोम का उपयोग कर एक पीडीएफ फ़ाइल पढ़ना, यूआरएल होगा file:///D:/Desktop/Book.pdf

क्यूं कर फ़ाइल यूआरएल तीन slashes का उपयोग करें?


173
2017-10-30 14:25


मूल


विंडोज के लिए ओपेरा इसे विस्तारित करता है file://localhost/D:/Desktop/ खुद ब खुद।
और देखें stackoverflow.com/q/22772897/632951 - Pacerier


जवाब:


जैसा कि अन्य ने उल्लेख किया है, फ़ाइल स्कीमा "फ़ाइल: // <host> / <path>" रूप में है। हालांकि अधिकांश ब्राउज़रों को केवल दो स्लेश के साथ कोई समस्या नहीं होगी, और सही तरीके से।

सभी चीजें बराबर होती हैं, ट्रिपल स्लैश और "लोकलहोस्ट" कीवर्ड केवल वैध यूआरआई / यूआरएल सिंटैक्स के अनुरूप होने के लिए मौजूद हैं। फ़ाइल स्कीमा के संदर्भ में, मेजबान व्यर्थ है क्योंकि यह किसी भी फाइल सिस्टम से सीधे किसी भी स्पष्ट हस्तांतरण प्रोटोकॉल या सर्वर दस्तावेज़ पथ के बिना लोड होता है। चूंकि यह HTTP नहीं है, यह मानक वेब सर्वर से लोड नहीं हो सकता है, जहां सिद्धांत में आपके पास एकाधिक स्थानीय वर्चुअल होस्ट सेट हो सकते हैं। और यह मानक नेटवर्क वॉल्यूम से लोड नहीं हो सकता है जो कि तकनीकी रूप से एक और "मेजबान" है, क्योंकि ब्राउज़र केवल "फ़ाइल: /// वॉल्यूम / foo" जैसे वॉल्यूम नाम का उपयोग करता है। अंत में, "file: //example.com/some/file" जैसी चीजों को आजमाने की कोशिश नहीं है। बाहरी मेजबान का समर्थन करने के लिए शायद कुछ कारण है, लेकिन मैं किसी के बारे में नहीं सोच सकता।

आईईटीएफ वर्तमान में ट्रिपल स्लैश आवश्यकता को हटाने के लिए परिवर्तन तैयार कर रहा है, हालांकि मसौदे में कुछ विषम संभावनाएं भी शामिल हैं जैसे कि file:c|/path और भी file://///host.example.com/path

https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-03

"3. यह विनिर्देश न तो स्थानीय फाइलों तक पहुंचने के लिए तंत्र को परिभाषित करता है और न ही रोकता है।"


9
2017-09-11 22:18





पूरा वाक्यविन्यास है file://host/path

अगर मेजबान है localhost, इसे छोड़ा जा सकता है, जिसके परिणामस्वरूप file:///path

देख आरएफसी 1738 - वर्दी संसाधन लोकेटर (यूआरएल):

एक फ़ाइल यूआरएल फॉर्म लेता है:

file://<host>/<path>

[...]

एक विशेष मामले के रूप में, <host> स्ट्रिंग "लोकलहोस्ट" या खाली हो सकता है      स्ट्रिंग; इसका अर्थ 'मशीन है जिसके द्वारा यूआरएल है      व्याख्या की जा रही है '।


246
2017-10-30 14:34



अच्छा, मैं इस सवाल का उत्तर आरएफसी मानक की उम्मीद नहीं करता था! - Pacerier
@Pacerier लगभग कुछ भी जिसे इंटरनेट के साथ करना है आरएफसी द्वारा समझाया जा सकता है (ध्यान दें कि वे आवश्यक नहीं हैं "मानकों" लेकिन इसे इस तरह अपनाया जा सकता है)। - slhck
ध्यान दें कि टिम बर्नर्स ली ने उन 2 स्लैश के लिए माफ़ी मांगी है जो प्रत्येक यूआरएल में हैं: news.bbc.co.uk/2/hi/technology/8306631.stm - Peter
क्या मैं छोड़ सकता हूँ localhost अन्य प्रोटोकॉल से भी या यह केवल के लिए काम करता है file://? - Agos
ध्यान दें कि फ़ायरफ़ॉक्स वास्तव में इस मानक 'फ़ाइल का पालन नहीं करता है: // test / c: \ `` फ़ाइल के समान व्यवहार करेगा: /// सी: \ `और` http: /// test `एक अमान्य यूआरएल देगा त्रुटि - Earlz


डेनिस ने तीसरे स्लैश को समझाया है, जिसे अलग करने की जरूरत है host वहाँ से path, लेकिन अन्य दो और अधिक दिलचस्प हैं ...

यह पता चला कि वे यूआरएल वाक्यविन्यास के लिए एक बेकार और कुछ हद तक मनमाना अतिरिक्त थे। टिम बर्नर्स-ली, वर्ल्ड वाइड वेब के आविष्कारक और इसके कई मानकों के लेखक (सहित आरएफसी कि डेनिस ने लिंक किया), 200 9 में एक साक्षात्कार में 'डबल स्लैश' के उपयोग को शोक किया।

डबल बर्राश, हालांकि उस समय एक प्रोग्रामिंग सम्मेलन वास्तव में जरूरी नहीं था, श्री बर्नर्स-ली ने समझाया। उन्होंने कहा कि सभी पेपर और पेड़ों को देखो, उन्होंने कहा कि अगर लोगों को वर्षों में कागज पर उन स्लेशों को लिखना या लिखना नहीं था, तो बचाया जा सकता था - मानव श्रम और उन दो कीस्ट्रोकों को टाइप करने में व्यतीत समय का उल्लेख नहीं किया गया ब्राउज़र पता बक्से में बार।

http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/

तो, 18 साल पहले दूरदर्शिता में एक नाबालिग (और अनैच्छिक) चूक के लिए बचाओ, आपका फ़ाइल यूआरएल आसानी से हो सकता है file:/D:/Desktop/Book.pdf, बजाय file:///D:/Desktop/Book.pdf

आपके प्रश्न का उत्तर देने के लिए, कोई अच्छा कारण नहीं है कि URL में 3 स्लेश क्यों हैं।


25
2017-09-25 07:11



टिमबीएल भी इस पर विस्तार से बताता है सामान्य प्रश्न - Molomby
उल्लेख नहीं है कि 2 बाइट्स का उपयोग करके बचाया जा सकता है http:example.com के बजाय http://example.com यह बहुत कुछ प्रतीत नहीं होता है, लेकिन वे जोड़ते हैं। Google प्राप्त करता है लाखों एक दिन की खोज पेज पर कितने लिंक हैं? कम से कम 20. इसका मतलब है कि लाखों खोजों के लिए, यदि स्लेश की आवश्यकता नहीं थी, तो 20 एमबी बैंडविड्थ बचाया जा सकता था। - Cole Johnson
@ कोलेजोहनसन - क्या आप जानते थे कि आप प्रोटोकॉल भाग भी छोड़ सकते हैं? इसलिए http://example.com के रूप में जोड़ा जा सकता है //example.com http पर प्रेषित एक दस्तावेज़ में। इसे एक कहा जाता है प्रोटोकॉल सापेक्ष यूआरएल, सभी ब्राउज़र उन्हें समर्थन करते हैं। - Molomby
मैं उन लोगों के बारे में अच्छी तरह से अवगत हूं, लेकिन मैं व्यक्तिगत रूप से केवल उन्हें सीएसएस में उपयोग करता हूं। एचटीएमएल लिखते समय, मैं प्रोटोकॉल का भी उपयोग करता हूं। वास्तव में कोई असली कारण नहीं है। सिवाय इसके कि जब कुछ साल पहले एचटीएमएल 5 + CSS3 पहले "बड़ा" बन गया, तो लगभग सभी साइटों को मैंने देखा था। - Cole Johnson
@Molomby, जब वे रिश्तेदार प्रोटोकॉल यूआरएल नहीं करते हैं तो वह बर्बाद सभी बाइट्स के बारे में बात कर रहा है। जो 99% आबादी की तरह है। - Pacerier