2009-06-02 28 views
11

दूसरे शब्दों में, क्या इससे कोई फर्क पड़ता है कि मैं http://www.example.com/ या http://wwW.exAmPLe.COm/ का उपयोग करता हूं?क्या HTTP होस्टनाम केस (ऊपरी/निचला) मामला है?

मैं हाल ही में मेजबान नामों के साथ अजीब मुद्दों में भाग रहा हूं: मेरे पास एक अपाचे 2.2 + PHP5.1.4 वेबसर्वर है, जो सभी प्रकार के ब्राउज़रों द्वारा उपयोग किया जाता है। विशेष रूप से IE6 उपयोगकर्ताओं (esp। जब उनके यूए स्ट्रिंग में कई BHOs ​​के बोझ तले है, कोई पैटर्न अभी तक) साइट (कुकीज़ गायब हो जाते हैं, जे एस लोड करने के लिए मना कर दिया) जब http://www.Example.com/ के माध्यम से प्रवेश करने तक पहुंचने में समस्या है लगता है, लेकिन नहीं http://www.example.com/

मैं HTTP और DNS आरएफसी, मेरी P3P policies, कुकी सेटिंग्स और SOP की जांच की है; अभी तक कहीं भी मैंने डोमेन नामों का उल्लेख भी संवेदनशील नहीं देखा है।

(मैं जानता हूँ कि पथ और क्वेरी स्ट्रिंग केस संवेदी (?x=foo?x=Foo से अलग है) कर रहे हैं और उन्हें उचित इलाज, मेरे कोड में डोमेन नाम पर कोई पार्स/प्रसंस्करण कर रहा हूँ)

मैं कुछ गलत कर रहा हूँ या है यह सिर्फ कुछ ब्राउज़र + टूलबार बकवास मुझे चारों ओर काम करना चाहिए?

उत्तर

24

डोमेन नाम केस-संवेदी नहीं हैं; Example.com उसी आईपी को eXaMpLe.CoM के रूप में हल करेगा। यदि कोई वेब सर्वर या ब्राउज़र Host शीर्षलेख केस-संवेदी के रूप में व्यवहार करता है, तो यह एक बग है।

+2

आप सही हैं - कैशिंग स्क्रिप्ट्स में से एक डोमेन नाम केस-संवेदनात्मक तुलना कर रहा था और मुद्दों का कारण बन रहा था। होस्टकेम्स को लोअरकेस पर मजबूर करना इसे ठीक करने लगता है। – Piskvor

+5

फिर, यह स्क्रिप्ट बुरी तरह टूट गई है और इसे ठीक किया जाना चाहिए। संदर्भ के लिए – bortzmeyer

0

नहीं, प्रोटोकॉल विनिर्देशक के संबंध में कोई मामला संवेदनशीलता नहीं है।

You can see this in the RFC for URLs

2.1। यूआरएल

योजना नामों के मुख्य भाग वर्णों का अनुक्रम शामिल हैं। निचले केस अक्षरों "ए" - "जेड", अंक, और वर्ण प्लस ("+"), अवधि ("।"), और हाइफ़न ("-") की अनुमति है। लचीलापन के लिए, यूआरएल की व्याख्या करने वाले कार्यक्रम योजना नामों में कम मामले के लिए ऊपरी केस अक्षरों के बराबर के रूप में व्यवहार करना चाहिए (उदाहरण के लिए, "HTTP" के साथ-साथ "http")।

+1

लोग अप्रचलित चश्मे का हवाला देते हुए क्यों रहते हैं? आह! –

5

नहीं, इससे कोई फर्क नहीं पड़ता है।

URL आरएफसी स्पेक (http://www.ietf.org/rfc/rfc1738.txt) देखें।

लचीलेपन के लिए, यूआरएल व्याख्या अपर केस पत्र नाम

+1

+1 :) – cgp

+5

हम योजना के नाम पर चर्चा नहीं कर रहे थे। (इसके अलावा: आरएफसी 1738 प्राचीन है, और इसे कई बार अपडेट किया गया है; वर्तमान आरएफसी 3 9 86 है)। –

+0

ऊपर सूचीबद्ध स्पेक के अनुसार ([http://www.ietf.org/rfc/rfc3986.txt ][1])। पृष्ठ 18 से: > हालांकि मेजबान केस-संवेदी है, निर्माताओं और normalizers > पंजीकृत नाम और हेक्साडेसिमल > एकरूपता की खातिर पतों के लिए लोअरकेस, जबकि केवल प्रतिशत-एन्कोडिंग के लिए अपरकेस > अक्षरों का प्रयोग कर उपयोग करना चाहिए। [1]: http://www.ietf.org/rfc/rfc3986.txt – geedew

1

http://tools.ietf.org/html/rfc1035 के अनुसार योजना में लोअर केस में समकक्ष के रूप में व्यवहार करना चाहिए कार्यक्रमों:

सभी के लिए खंड 2.1 से डीएनएस के कुछ हिस्सों जो आधिकारिक प्रोटोकॉल का हिस्सा हैं, सभी चरित्र तारों (उदाहरण के लिए, लेबल, डोमेन नाम इत्यादि) के बीच तुलना केस-असंवेदनशील तरीके से किए जाते हैं। वर्तमान में, यह नियम बिना किसी अपवाद के डोमेन सिस्टम में बल में है।

यह कहता है कि यह भविष्य में बदल सकता है। मुझे लगता है कि यह मानना ​​सुरक्षित है कि COM डोमेन केस-असंवेदनशील है, लेकिन अन्य डोमेन गैर-ASCII वर्णों के उपयोग की इजाजत दे सकते हैं।

+0

.COM आईडीएन भी स्वीकार करता है ... और आईडीएन इस तथ्य से कुछ भी नहीं बदलता है कि डोमेन नाम केस-असंवेदनशील हैं इसलिए café.com और CAFÉ.com वही हैं। – bortzmeyer

4

चूंकि आपने अपने प्रश्न को व्यावहारिक प्रश्न के रूप में बताया है, और फिर वास्तविक दुनिया की समस्या का वर्णन किया है, तो जवाब वास्तव में है: हाँ।

अन्य उत्तर होस्टनाम के बारे में आरएफसी स्पेक के बारे में क्या कहते हैं, इसके बारे में सही हैं। तकनीकी रूप से वे केस असंवेदनशील होना चाहिए। (वास्तव में, पुराना सम्मेलन यह था कि शीर्ष-स्तरीय डोमेन (टीएलडी) सभी कैप्स में होना चाहिए ... जैसे "apple.COM")।

हालांकि, वास्तविक दुनिया में, ओएस रिज़ॉल्यूवर और प्रमुख ब्राउज़रों जैसे परिपक्व सॉफ़्टवेयर को यह अधिकार मिलता है। किसी भी तरह का माध्यमिक कोड इस गलत को संभाला जा सकता है, और आपको गड़बड़ कर सकता है।

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