2008-11-27 14 views
11

जब मैं Amazon.com को देखो और मैं पृष्ठों के लिए उनके यूआरएल देखते हैं, यह URL के अंत में .htm, .html या .php जरूरत नहीं है।वेबसाइट यूआरएल?

यह की तरह है:
http://www.amazon.com/books-used-books-textbooks/b/ref=topnav_storetab_b?ie=UTF8&node=283155

क्यों और कैसे? वह किस प्रकार का विस्तार है?

+0

+1 क्योंकि मैं पहले ही समस्या साल के बारे में सोच याद;) –

उत्तर

0

लोगों का एक बहुत एक अधिक "RESTful" प्रकार वास्तुकला ... या कम से कम, बाकी दिखने URL का उपयोग कर रहे हैं।

इस साइट (StackOverflow) एक फाइल एक्सटेंशन दिखाने dosn't ... यह ASP.NET MVC उपयोग कर रहा है।

5

वेबसाइटों है कि अपाचे का उपयोग के लिए, वे शायद mod_rewrite है कि उन्हें URL पुनः लिखने (और उन्हें और अधिक उपयोगकर्ता और एसईओ अनुकूल बनाने के) के लिए सक्षम बनाता का उपयोग कर रहे

आप और अधिक यहाँ http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html और यहाँ http://www.sitepoint.com/article/apache-mod_rewrite-examples/

पढ़ सकते हैं

संपादित करें: आईआईएस के लिए भी पुनः लिखने वाले मॉड्यूल हैं।

+0

+1 हाँ, निश्चित रूप से mod_rewrite या किसी ऐसे ही मॉड्यूल अपने सर्वर सॉफ्टवेयर के आधार पर –

+1

नोट है कि अमेज़न एक कस्टम वेब आवेदन "Obidos" के रूप में जाना सर्वर चलाते हैं। – Rob

+0

@ रोब, को पता नहीं था कि उनके पास एक कस्टम वेब ऐप था ... thnx – Kostis

0

अपने सर्वर की सेटिंग के आधार पर आप उपयोग कर सकते हैं (या नहीं) किसी भी विस्तार आप चाहते हैं। आप ".JamesRocks" होने के लिए एक्सटेंशन भी सेट कर सकते हैं लेकिन यह बहुत उपयोगी नहीं होगा :)

वैसे भी अगर आप वेब प्रोग्रामिंग के लिए नए हैं तो अंत में सभी गड़बड़ियां जीईटी ऑपरेशन के लिए तर्क हैं, और पृष्ठ का विस्तार नहीं।

9

आमतौर पर, इसे कुछ विवरणों की एक यूआरएल पुनर्लेखन योजना का उपयोग करके कार्यान्वित किया जाता है। मूल धारणा यह है कि वेब उचित यूआरआई के साथ संसाधनों को संबोधित करने के लिए आगे बढ़ना चाहिए, न कि क्लासिक पुराने यूआरएल जो कार्यान्वयन के विवरण को रिसाव करते हैं, और परिणामस्वरूप भविष्य में बदलावों के लिए कमजोर हैं।

विषय का एक गहन चर्चा टिम बर्नर्स ली के लेख Cool URIs Don't Change है, जो समस्या है होते हैं जब कार्यान्वयन परिवर्तन कर से बचने के लिए मदद करने का एक साधन के रूप यूआरआई में अप्रासंगिक cruft को कम करने के पक्ष में तर्क है में पाया जा सकता है, और जब संसाधन एक अलग यूआरएल में जाते हैं। लेख में यूआरआई योजना की योजना बनाने पर अच्छी सामान्य सलाह है, और यह पढ़ने के लायक है।

22

आपका ब्राउज़र, फ़ाइल के विस्तार के बारे में परवाह नहीं है केवल सामग्री प्रकार है कि सर्वर रिपोर्ट। (ठीक है, जब तक कि आप IE का उपयोग नहीं करते हैं क्योंकि माइक्रोसॉफ्ट में वे सोचते हैं कि वे आपके द्वारा की जाने वाली चीज़ों के बारे में और अधिक जानते हैं)। यदि आपका सर्वर रिपोर्ट करता है कि सामग्री की सेवा की जा रही है तो सामग्री-प्रकार: टेक्स्ट/एचटीएमएल है, तो आपका ब्राउज़र इसे एचटीएमएल की तरह व्यवहार करना चाहिए, इससे कोई फर्क नहीं पड़ता कि फाइल का नाम क्या है।

-1

Django में (अजगर के लिए एक वेब अनुप्रयोग फ्रेमवर्क), तो आप अपने आप को यूआरएल, किसी भी फ़ाइल नाम, या उस बात के लिए सर्वर पर भी किसी भी पथ के स्वतंत्र डिजाइन।

तुम बस की तरह

3

"मैं /news/<number>/ यूआरएल इस समारोह द्वारा नियंत्रित किया जा करना चाहते हैं" कुछ परंपरागत रूप से फ़ाइल एक्सटेंशन फ़ाइल है कि सर्व किया जा रहा का प्रतिनिधित्व करता है का कहना है।

उदाहरण के लिए

http://someserver/somepath/image.jpg

बाद में उसी दृष्टिकोण एक स्क्रिप्ट प्रक्रिया पैरामीटर

http://somerverser/somepath/script.php?param=1234&other=7890

इस मामले टी में अनुमति देने के लिए इस्तेमाल किया गया था वह फ़ाइल एक php स्क्रिप्ट थी जो "अनुरोध" को संसाधित करती है और एक द्विपक्षीय रूप से बनाई गई फ़ाइल प्रस्तुत करती है।

आजकल, अनुप्रयोगों और अधिक जटिल की तुलना में (अर्थात् अमेज़न है कि आप metioned)

तो फिर वहाँ है कोई एक भी स्क्रिप्ट अनुरोध (लेकिन एक और अधिक जटिल एप्लिकेशन बुद्धि कई फ़ाइलों/तरीकों/कार्यों का प्रबंधन करता/ऑब्जेक्ट इत्यादि), और यूआरएल एक वेब एप्लिकेशन के लिए एंट्री पॉइंट की तरह है (इसमें एक स्क्रिप्ट हो सकती है लेकिन वह दूसरी चीज हो सकती है) तो अब अमेज़ॅन जैसे वेब ऐप, और हां स्टैक ओवरफ्लो यूआरएल में एक फाइल नहीं दिखाता है लेकिन कुछ भी आने वाला सर्वर सर्वर में ऐप द्वारा संसाधित किया जाता है।

websites urls without file extension?

यहाँ मैं सवाल webapp और 322,747 पैरामीटर

मुझे आशा है कि इस छोटे से स्पष्टीकरण आप बेहतर सभी अन्य उत्तर समझने में मदद करता प्रतिनिधित्व करता है।

0

कई पदों ने इसका उल्लेख किया है, और मैं वजन करूँगा। यह बिल्कुल एक यूआरएल पुनर्लेखन प्रणाली है, और कई प्लेटफार्मों को इसे लागू करने के तरीके हैं।

मैंने कुछ बड़ी ईकॉमर्स साइटों के लिए काम किया है, और अब यह वेब उपस्थिति का एक बहुत ही महत्वपूर्ण हिस्सा है, और कई फायदे प्रदान करता है।

मैं उस तकनीक को लेने की सलाह दूंगा जिसके साथ आप काम करना चाहते हैं, और उस मंच के लिए यूआरएल पुनर्लेखन तंत्र के नमूने शोध कर रहे हैं। .NET के लिए, उदाहरण के लिए, वहां 'asp.net url rewriting' google है या एमवीसी जैसे ऐड-ऑन फ्रेमवर्क का उपयोग करें, जो इस कार्यक्षमता को बॉक्स से बाहर करता है।

5

अधिक विशेष रूप से इन उत्तरों की तुलना में सबसे:

वेब सामग्री फाइल एक्सटेंशन का उपयोग नहीं करता निर्धारित करने के लिए किस प्रकार की फ़ाइल में कार्य किया जा रहा है (जब तक आप इंटरनेट एक्सप्लोरर हैं)। इसके बजाय, वे Content-type HTTP शीर्षलेख का उपयोग करते हैं, जो छवि की सामग्री, HTML पृष्ठ, डाउनलोड, या जो भी हो, तार से पहले भेजा जाता है। उदाहरण के लिए:

Content-type: text/html 

अर्थ है कि पृष्ठ देख रहे हैं HTML के रूप में व्याख्या की जानी चाहिए, और

Content-type: image/png 

अर्थ है कि पेज एक PNG छवि है।

वेब सर्वर अक्सर फाइल एक्सटेंशन का उपयोग करता है, तो फ़ाइल करने के लिए डिस्क से सीधे परोसा जाता है निर्धारित क्या Content-type आवंटित करने के लिए है, लेकिन वेब एप्लिकेशन के भी किसी भी Content-type वे एक अनुरोध के जवाब में की तरह के साथ पृष्ठों उत्पन्न कर सकते हैं। फ़ाइल नाम की संरचना या विस्तार से कोई फर्क नहीं पड़ता, जब तक पृष्ठ की वास्तविक सामग्री घोषित Content-type से मेल खाती है, तो डेटा इच्छित के रूप में प्रस्तुत करता है।

1

अच्छी तरह से निर्देशिका में index.html फ़ाइल होने के बारे में और फिर आप ब्राउज़र में पथ टाइप करते हैं? मैं देखता हूं कि मेरे फ़ायरफ़ॉक्स और आईई 7 दोनों ने स्वचालित रूप से पिछला स्लैश लगाया है, मुझे इसे टाइप करने की ज़रूरत नहीं है। यह मेरे जैसे लोगों के लिए अधिक उपयुक्त है जो नहीं सोचते कि पृथ्वी पर हर एक यूआरएल को कुछ किलोबाइट डेटा भेजने के लिए केवल php, perl, cgi और 10,000 अन्य अनुप्रयोगों का आह्वान करना चाहिए।

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