एक्सटेंशन अक्सर URL पर क्यों छिपे होते हैं?


20

कई बार मुझे लगता है कि यूआरएल एक्सटेंशन छिपे हुए हैं (उदाहरण के लिए .html, .php), लेकिन सभी वेबसाइटों ऐसा नहीं।

वेबमास्टर्स एक्सटेंशन क्यों छिपाते हैं? क्या यह सुरक्षा के लिए है, यूआरएल को क्लीनर के लिए, या किसी अन्य उद्देश्य के लिए?


जवाबों:


29

URL से एक्सटेंशन निकालने के कई कारण हैं:

  • URL को साफ-सुथरा बनाने के लिए
  • URL को टाइप करना आसान है
  • URL को याद रखने में आसान बनाने के लिए
  • URL को अधिक SEO कीवर्ड के अनुकूल बनाने के लिए
  • प्रौद्योगिकियों को बदलने में सक्षम होने के लिए - यदि आप कभी भी अपनी साइट को एक तकनीक से दूसरी तकनीक पर ले जाना चाहते हैं, तो ऐसा करना सबसे आसान है, बिना उपयोगकर्ताओं के यह जानने के लिए कि क्या URL पर कोई एक्सटेंशन नहीं हैं।

ध्यान रखें कि कई साइटें एक सामग्री प्रबंधन प्रणाली (CMS) द्वारा बनाई गई हैं जो URL को इस तरह दिखाई देगा /index.php?page=this-is-the-widget-page:। यह विशेष रूप से बदसूरत है और सिर्फ एक विस्तार की तुलना में कहीं अधिक cruft है। हटाने का फिर index.php?page=से प्रयास करना बेहतर बनाता है।

वेब पर एक्सटेंशन की आवश्यकता नहीं है क्योंकि सर्वर हेडर के रूप में दस्तावेज़ का प्रकार भेजते हैं। वेब पेज के रूप में text/html, छवियों image/pngया के रूप में सेवा कर रहे हैं image/jpeg। यह ब्राउज़रों को यह जानने की सुविधा देता है कि किसी एक्सटेंशन का उपयोग किए बिना सामग्री को कैसे प्रस्तुत किया जाए ताकि यह पता चले कि URL में टेक्स्ट, HTML, PDF या छवि है (अधिक जानकारी के लिए विकिपीडिया लेख इंटरनेट मीडिया प्रकार देखें )।

कुछ वेबमास्टर इस सामग्री प्रकार से मेल खाने वाले URL पर एक्सटेंशन का उपयोग करना चुनते हैं। तो किसी भी text/htmlदस्तावेज़ में एक .htmlएक्सटेंशन होगा और किसी भी image/pngदस्तावेज़ में एक .pngएक्सटेंशन होगा। जब URL फाइल सिस्टम में सहेजे जाते हैं तो मदद कर सकते हैं जहां मेटा सामग्री के बारे में उनके डेटा प्रकार खो गए हैं। अधिकांश फ़ाइल सिस्टम में, फ़ाइल खोलने वाला प्रोग्राम एक्सटेंशन द्वारा चुना जाता है। इसलिए भले ही एक पृष्ठ PHP द्वारा परोसा गया हो, कुछ वेबमास्टर्स .phpएक्सटेंशन को हटा देते हैं , और कुछ इसे बदल देते हैं .html

यह भी सवाल है कि क्या यूआरएल को बेहतर तरीके से स्लैश ( /) में समाप्त किया जा सकता है, जब उनके पास कोई एक्सटेंशन नहीं है, जिसकी स्टैक ओवरफ्लो पर बहुत चर्चा है।


11
कुछ चौखटे (जैसे MVC) में URL किसी फ़ाइल की पहचान नहीं करता है, इसलिए छिपाने के लिए कोई एक्सटेंशन नहीं है।
हेनरिक रिपा

6

सभी वेब सर्वरों में एक या अधिक "डिफ़ॉल्ट फाइलें" होती हैं। यह वह फ़ाइल होती है, जो जब भी कोई विज़िटर किसी URL पर जाता है जो एक स्लैश में समाप्त होता है /, अर्थात एक फ़ोल्डर।

यदि आपके वेब सर्वर पर डिफ़ॉल्ट फ़ाइल नाम है index.phpऔर एक आगंतुक जाता है www.example.com/pagename/, तो वे वास्तव में एक्सेस कर रहे हैं www.example.com/pagename/index.php

यदि कोई अनुगामी नहीं है /, तो वेब सर्वर शायद इसे हटाने के लिए केवल URL को फिर से लिख रहा है, क्योंकि यह आवश्यक नहीं है। यह साइट, वास्तव में, ऐसा करती है।


2
मुझे यकीन नहीं है कि सवाल "कैसे" था, बल्कि "क्यों" था। पैट्रिक आपके जवाब कैसे के बारे में बिल्कुल सही है। स्टीफन ने हालांकि, "क्यों" का जवाब दिया
ब्रैंडट सोलोविज

4

यह “कूल” यूआरआई योजना का प्रकार है जिसका लक्ष्य मैं अपनी निजी वेबसाइट पर चाहता हूं।

व्यक्तिगत रूप से, कारण जो मैंने ऐसा करना शुरू कर दिया (और शायद कई और वेब डिजाइनर / डेवलपर्स भी!) लेख "कूल यूआरआई नहीं बदलते हैं" पढ़ने के बाद था - यह दस्तावेज़ वर्ल्ड वाइड वेब के संस्थापक पिता, टिम बर्नर्स द्वारा लिखा गया था। ली।

टिम बर्नर्स-ली के प्रसिद्ध लेख में, वे मूल रूप से उन्हीं कारणों को बताते हैं जो स्टीफन ओस्टरमिलर ने इस प्रश्न के अपने उत्कृष्ट उत्तर में दिए हैं

अपने मुख्य प्रश्न का अधिक विशिष्ट उत्तर देने के लिए, "URL में एक्सटेंशन क्यों छिपे हैं?" ठीक है, मैं कहूंगा कि मेरे लिए मुख्य कारण हैं:

1. URI के भविष्य के प्रमाण के लिए:

उदाहरण के लिए, किसी URI का उपयोग करने के लिए उस समय यह एक अच्छे विचार की तरह लग सकता है: जैसे http://www.example.com/page.pl कि .plपर्ल लिपि के लिए फ़ाइल एक्सटेन्शन होना। हालाँकि, thesedays, अधिकांश वेब डेवलपर्स बैकएंड-स्क्रिप्टिंग के लिए ASP.NET या PHP का उपयोग करते हैं, इसलिए आज पूर्व संध्या , http://www.example.com/page.php एक बेहतर विचार की तरह लगता है, अंततः PHP और ASP / ASP.net पुराने जमाने के हो जाएंगे। इसलिए एक बेहतर विचार यह है कि विस्तार को पूरी तरह से हटा दिया जाए।

2. पठनीयता और संस्मरण:

कागज पर (जैसे विज्ञापन, बिजनेस कार्ड आदि) मौखिक रूप से "शांत" यूआरआई लोगों के लिए पारित करना बहुत आसान है, याद रखना आसान नहीं है।

3. "हैकबिलिटी" *

हालाँकि मैं कहूंगा कि इन दिनों अधिकांश उपयोगकर्ता संभवतः हर चीज के लिए एक खोज इंजन के माध्यम से जाते हैं - मैंने ऐसे लोगों को भी देखा है जो पता बार और टाइप पर जाते हैं www.google.com, और फिर Google को सचमुच में टाइप करने के लिए उपयोग करते हैं www.ebay.com! लेकिन, मुझे लगता है कि अगर मेरे पास मल्टीमीडिया पर आधारित एक वेबसाइट है, तो यूआरआई http://www.example.com/videoसंकेत देता है कि संगीत अनुभाग यूआरआई के तहत पाया जा सकता है http://www.example.com/audio, और इसी तरह। (मैं अभी भी वेबसाइटों पर जाने के लिए एड्रेस बार का उपयोग करता हूं - मैं उस तरह की चीज़ के बारे में "पुराने स्कूल" हूं!)

* (ओह! "हैकैबिलिटी" - क्या यह शब्द भी मौजूद है? ठीक है, यह अब करता है !) :-)

4. * सौंदर्यशास्त्र: उन्हें सुंदर दिखाने के लिए! (दोष मेरी ओसीडी!)

हालाँकि, मैंने विभिन्न एसईओ-संबंधित वेबसाइटों के माध्यम से पढ़कर देखा है, कि बहुत सारे वेबमास्टर वास्तव में डायनामिक यूआरआई के लिए एक फाइल एक्सटेंशन को जोड़ते हैं, जैसे:

वास्तविक यूआरआई हो सकता है: http://www.example.com/article

हालांकि, वेबमास्टर URI को "स्थिर" बनाने के लिए एक रीराइट करेगा, जैसे: http://www.example.com/article.html

इसके पीछे तर्क यह है कि मूल रूप से, एक खोज इंजन स्थैतिक पृष्ठों को उच्च रैंकिंग प्रदान करेगा (जो कि, जाहिरा तौर पर, परिवर्तन की संभावना कम है)। (हालांकि मैं एसईओ में बिल्कुल विशेषज्ञ नहीं हूं, मैं व्यक्तिगत रूप से इस विचार में खुद को नहीं खरीदता हूं - मैं निर्देशित कर रहा हूं कि Google और बिंग के एल्गोरिदम के पीछे किस तरह के दिमाग के साथ, यह एक नकली फ़ाइल एक्सटेंशन से थोड़ा अधिक लगेगा आप SERP पोल स्थिति में अपना रास्ता जीत! "

URI के नामकरण के बारे में अधिक जानकारी के लिए, मैं इन लेखों को पढ़ने की सलाह देता हूं:

टिक बैरनर्स - ली:

W3C QA टिप्स:

ब्रायन केली (यूके वेब फोकस / UKOLN - स्नान विश्वविद्यालय):

उम्मीद है की यह मदद करेगा!


2

मैं ऊपर दिए गए सभी उत्तरों से पूरी तरह सहमत हूं। बस यही कारण है कि URL में एक्सटेंशन छिपे होने का एक कारण सुरक्षा है। इसे सीधे शब्दों में कहें, अगर आप URL में एक्सटेंशन को उजागर नहीं करते हैं, तो उस तकनीक का पता लगाना थोड़ा कठिन है जिस पर एप्लिकेशन बनाया गया है। तो आइए हम बताते हैं कि PHP में बना एक पेज और एक्सटेंशन छिपा हुआ नहीं है, तो एक हैकर संभावित रूप से PHP की कमजोरियों का पता लगा सकता है और इसका इस्तेमाल कुछ दुर्भावनापूर्ण गतिविधियों को अंजाम देने के लिए कर सकता है।


मैं आपकी टिप्पणी से सहमत हूं, लेकिन मुझे लगता है कि सुरक्षा उपायों के रूप में आपकी बैकएंड तकनीक को बाधित करने के लिए यूआरआई का उपयोग करना बेकार है। पहली नज़र में, आप इस्तेमाल की गई विशेष तकनीक को छिपा रहे हैं । दुर्भाग्य से, यह "मूर्ख" करने वाले एकमात्र लोग अंतिम उपयोगकर्ता हैं; कुछ (यदि सबसे अधिक नहीं) जिनमें से कोई भी पता नहीं है कि URL क्या है, तो अकेले ASP / PHP / etc को बताएं। एक बेहतर वाक्यांश की कमी के लिए, आप "गाना बजानेवालों को उपदेश" दे रहे हैं।
जॉर्डन क्लार्क

1

आप अपने पृष्ठ एक्सटेंशन छिपाते हैं या नहीं, लोग अभी भी यह जान सकते हैं कि आपने कौन सी तकनीक का उपयोग किया है। CURL का उपयोग करके, शीर्ष लेख की जानकारी प्राप्त करके अपनी तकनीक प्राप्त करना असंभव नहीं है।

curl -I -L rembatvideo.ga

फिर, आपको अपनी तकनीक, कैश अनुरोध, कनेक्शन और बहुत कुछ दिखाई देगा।


0

पूरी तरह से "स्टीफन ओस्टरमिलर" द्वारा समझाने के रूप में सहमत हैं, लेकिन मैं इसके पीछे की चाल का उल्लेख करना चाहूंगा कि यूआरएल का विस्तार छिपा हो। और इसके लिए आपको .htaccess rewrite rule का इस्तेमाल करना होगा , यहाँ स्क्रिप्ट है जो आपकी मदद करती है:

.phpएक्सटेंशन रहित URL के लिए बाहरी अनुरोधों को पुनर्निर्देशित करें

RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.