किन अक्षरों सर्वर पर HTML फ़ाइलों के लिए फ़ाइल नाम में अनुमति दी जाती है?
यह पूरी तरह से सर्वर पर निर्भर करता है। एचटीएमएल स्वयं किसी भी चरित्र को नियंत्रण वर्णों और गैर-ASCII वर्णों सहित, जब तक कि वे URL में अनुरोध किए जाने पर उचित रूप से% -encoded समेत अनुमति देता है।
यूनिक्स सर्वर पर आप '/' या शून्य बाइट का उपयोग नहीं कर सकते हैं। (यदि आप उनका उपयोग कर सकते हैं, तो वे क्रमशः '% 2F' और '% 00' के रूप में यूआरएल में दिखाई देंगे।) आपके पास विशिष्ट फ़ाइल नाम '।' या '..', या खाली स्ट्रिंग भी नहीं हो सकती है।
विंडोज सर्वर पर आपके पास यूनिक्स सर्वर की सभी सीमाएं हैं, साथ ही आप \/:*?"<>|
का उपयोग नहीं कर सकते हैं या वर्ण 1-31 को नियंत्रित नहीं कर सकते हैं और आपके पास डॉट या रिक्त स्थान का नेतृत्व या पीछे नहीं हो सकता है, और आप ' किसी भी विरासत डिवाइस फ़ाइल नाम (CON, PRN, COM1 और कई अन्य) का उपयोग करने में कठिनाई होगी।
यह HTTP के साथ कुछ भी नहीं है; विंडोज़ पर फाइलनाम कैसे काम करते हैं, जो complicated है।
क्या मेरे पास फ़ाइल-नाम.htm, File_Name.htm फ़ाइल नाम.htm हो सकता है?
निश्चित रूप से। लेकिन पिछले मामले में आप अंतरिक्ष यूआरएल-एन्कोडिंग द्वारा इसे करने के लिए लिंक करना चाहिए:
<a href="File%20Name.htm">thingy</a>
ब्राउज़र आमतौर पर आप में जगह खाली छोड़ने के साथ दूर होने देंगे, लेकिन यह वास्तव में मान्य नहीं है। यदि आप यूआरएल-एस्केपिंग, एचटीएमएल-एस्केपिंग और केस-सेंसिटिव मुद्दों के बारे में सोचना चाहते हैं, तो ए-जेड, 0-9 और अंडरस्कोर से चिपके रहें।
फ़ाइल नाम केवल अंतर्निहित ओएस और सर्वर के फाइल सिस्टम द्वारा ही सीमित हैं। उदाहरण के लिए, * निक्स बॉक्स पर "/" और नल को छोड़कर किसी भी चरित्र की अनुमति है। क्या आप वास्तव में फ़ाइल नामों के बारे में पूछ रहे हैं, या आप फाइलनामों के लिंक या शायद यूआरएल के संदर्भों के बारे में पूछ रहे हैं? –