वर्तमान पृष्ठ में से एक को संरक्षित करने के लिए प्रोटोकॉल (योजना) को छोड़ने वाले पूर्ण URL


85

मैंने //somepage.com/resourceurl प्रारूप देखा । उदाहरण के लिए:

<img src="//remotesite.com/image1.jpg" />

इसका मुद्दा यह है कि यदि वर्तमान पृष्ठ ( imgटैग को परिभाषित करने वाला पृष्ठ ) उपयोग कर रहा है http, तो दूरस्थ साइट के लिए अनुरोध http के माध्यम से किया जाता है। अगर यह https है - यह https है। यह पूरी तरह से एन्क्रिप्टेड पृष्ठों की ब्राउज़र चेतावनियों को समाप्त नहीं करता है।

मेरा प्रश्न है - क्या यह URL प्रारूप सभी ब्राउज़रों के लिए उपयोग करने के लिए सुरक्षित है। और क्या यह एक मानक है?


4
संबंधित: क्या मैं अपने सभी http: // लिंक को सिर्फ // में बदल सकता हूं? आपके पहले और उत्तर के सापेक्ष URL आपके दूसरे प्रश्न का उत्तर देते हैं।
गुमबो

1
इसी तरह के सवाल: stackoverflow.com/questions/8343942/…
TMS


हालाँकि आपने अपने प्रश्न में इस शब्द का उपयोग नहीं किया, लेकिन मैंने प्रोटोकॉल-सापेक्ष टैग जोड़ा (इसलिए यह प्रश्न आसान पाया जा सकता है)।
२०

जवाबों:


61

क्या यह URL प्रारूप सभी ब्राउज़रों के लिए उपयोग करने के लिए सुरक्षित है।

मैं निश्चित रूप से कुछ भी नहीं कह सकता, लेकिन आपको इसे अलग-अलग ब्राउज़रों में परीक्षण करने में सक्षम होना चाहिए।

और क्या यह एक मानक है?

तकनीकी रूप से, इसे RFC 3986 के अनुसार "नेटवर्क पथ संदर्भ" कहा जाता है । यहाँ इसके लिए योजना है:

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

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

वहाँ जब एक पर इस्तेमाल किया एक समस्या हालांकि, है <link>या @import, IE7 और IE8 फ़ाइल डाउनलोड करें।

यहाँ इस विषय पर पॉल आयरिश द्वारा लिखित एक पोस्ट है:


1
ध्यान दें कि पॉल आयरिश ने अपनी पोस्ट को यह इंगित करने के लिए अपडेट किया है कि संसाधनों को अब हमेशा https पर परोसा जाना चाहिए जब ऐसा करना संभव हो। ऊपर @Sarfraz द्वारा लिंक की गई पोस्ट देखें।
इवान डोनोवन

1
Google विश्लेषिकी स्निपेट कोड इस योजना का उपयोग करता है, इसलिए मुझे यकीन है कि यह क्रॉस ब्राउज़र है, जबकि यह उपकरण कई वेबसाइटों द्वारा उपयोग किया जाता है, वे बस https संस्करण प्रदान करेंगे अन्यथा
लुकास लाइसीस

22

हां मेरा मानना ​​है कि यह है। पॉल आयरिश ने प्रोटोकॉल रिलेटिव URL शब्द बनाया ।

मुझे यह भी इंगित करना चाहिए कि यह HTML5Boilerplate परियोजना का हिस्सा है जो इंजीलाइजेस क्रॉस ब्राउज़र संगतता को दर्शाता है।

नोट: IE6 में गूगल एनालिटिक्स के साथ एक किनारे का मामला है जिसका उल्लेख पॉल के लेख में किया गया है। तो यह सही नहीं है।


यह अब सच नहीं है, देखें stackoverflow.com/a/37609402/2237601 या यहाँ , वे अब उपयोग करते हैं https://यहां यह भी देखें कि प्रोटोकॉल स्कीम का पालन करना एक अच्छा विचार क्यों नहीं हो सकता है।
bg17aw

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