मैं URL के संबंध में सवाल है:पथ-अनुभाग में // के साथ एक यूआरएल मान्य है?
मैं पढ़ा है RFC 3986 और अभी भी एक सवाल है के बारे में एक यूआरएल:
यूआरआई एक अधिकार घटक है, तो पथ घटक हैं, तो
या तो खाली हो या स्लैश ("/") चरित्र से शुरू करें। यदि एक यूआरआई में कोई प्राधिकारी घटक नहीं है, तो पथ दो स्लैश वर्णों ("//") के साथ
शुरू नहीं कर सकता है। इसके अलावा, एक यूआरआई संदर्भ
(धारा 4.1) एक सापेक्ष-पथ संदर्भ हो सकता है, जिस स्थिति में
पहले पथ खंड में कोलन (":") वर्ण नहीं हो सकता है। एबीएनएफ
इन मामलों को असंबद्ध करने के लिए पांच अलग-अलग नियमों की आवश्यकता है, केवल में से एक जो किसी दिए गए यूआरआई संदर्भ के भीतर पथ को सब्सक्राइब करेगा। हम यूआरआई सबस्ट्रिंग
का वर्णन करने के लिए सामान्य नियम "पथ घटक" का उपयोग करते हैं ताकि इन नियमों में से किसी एक को पार्सर से मिलान किया जा सके।
मुझे पता है, कि //server.com:80/path/info
मान्य है (यह एक स्कीमा सापेक्ष URL है)
मुझे यह भी पता है कि http://server.com:80/path//info
मान्य है।
लेकिन मैं के बाद एक वैध है कि क्या यकीन नहीं है:
http://server.com:80//path/info
मेरे सवाल के पीछे समस्या यह है कि एक कुकी नहीं भेज दिया जाता है है http://server.com:80//path/info
, जब /path
http://server.com:80/path/info
द्वारा बनाई गई करने के लिए
तो यह एक ब्राउज़र बग है, कि // पथ के लिए कुकी/पथ को नहीं भेजती है? –
@ क्रिस्टियन एक बग नहीं है, '// path' '/ path' से'/foo/path' और '/// पथ' के रूप में अलग है। '// path' में कोई नाम नहीं होने पर" उपनिर्देशिका "है, जो मान्य है।इसलिए यदि आप '// path' के लिए कुकी सेट करते हैं, तो इसे'/path' से नहीं पढ़ा जा सकता है, न ही दूसरी तरफ। :) – CodeCaster
कानूनी लगता है। मुझे लगता है कि अगर कोई अलग जवाब या राय है तो मैं एक या दो दिन इंतजार करूंगा और जवाब नहीं दूंगा। –