Introduction to Web Servers and their features. |
वेब सर्वर वह सॉफ्टवेयर
होता है जो वेब पेज सर्व करता है, अर्थात वह सॉफ्टवेयर जो
वेब पेजों को उपयोक्ताओं तक पहुंचाता है। इसे दो भागों में बांट कर देखा जा सकता
है: वह मशीन जिस पर वैबसर्वर को स्थापित किया जाता है और वो सॉफ्टवेयर जो वैब
सर्वर की तरह काम करता है। ये पहला हार्डवेयर व दूसरा सॉफ्टवेयर होते हैं।
सामान्यतयावे वेब पेज HTTP प्रोटोकॉल द्वारा
उपयोक्ताओं तक पहुंचाये जाते है। किसी भी कंप्यूटर में वेब सर्वर का सॉफ्टवेयर
स्थापित कर और उसे इंटरनेट से जोड़ कर उपयोक्ता उसे अंतरजाल पर वेब पेज प्रदान करने
वाले वेब सर्वर में बदल सकते हैं। उपयोक्ता जो भी वेब पेज अंतरजाल पर देखते हैं वे
उनके कंप्यूटर पर पास किसी ना किसी वेब सर्वर के द्वारा ही पहुंचाये जाते हैं। यदि
उपयोक्ता अपने कंप्यूटर पर केवल सॉफ्टवेयर स्थापित करें और उसे इंटरनैट से ना
जोड़े तो भी वो पूरा वेब सर्वर है जो कि केवल स्थानीय रूप से उपयोक्ता के लिये काम
करेगा।
लक्षण
एच.टी.टी.पी.
हर वैब सर्वर अपने
क्लांइट से एच.टी.टी.पी. (HTTP) निर्देश लेता है
और यही निर्देश वापस देता है। एच.टी.टी.पी. एक तरह का प्रोटोकॉल है, जिसका पूरा नाम है हाइपर टैक्स्ट ट्रांस्फर प्रोटोकॉल। मुख्यत: वैब सर्वर जो
निर्देश लौटाता है वह एचटीएमएल में होते हैं लेकिन इसके अलावा वैब सर्वर
डॉक्यूमैंट, चित्र, फोटो, वीडियो आदि भी भेज सकता है। यदि क्लांइट ने कुछ ऐसी चीज की मांग रखी हो जो वैब
सर्वर के पास नहीं है तो वैब सर्वर अपने क्लांइट को एक त्रुटि-संदेश भेजेगा।
लॉगिंग
हर वैब सर्वर अपने हर
क्लांइट से संबंधित जानकारी अपने वैब लॉग में रखता है, जिसमें क्लांइट का आई.पी, उसके द्वारा मांगी गयी
जानकारी आदि होती है। ये आंकड़े वैब सर्वर के स्वामी यानि वैब मास्टर के लिये बहुत
काम के होते हैं। ये दो लक्षण किसी भी वैब सर्वर में होने आवश्यक हैं लेकिन इसके
अलावा भी वैब सर्वर में कुछ और विशेषताऐं होती है, जो लगभग सभी वैब
सर्वर में पायी जाती हैं लेकिन उनका प्रयोग करने का तरीका हर सर्वर में अलग अलग हो
सकता है।
सुरक्षित एचटीटीपी
एच.टी.टी.पी.एस. यानि HTTPS सामान्यत: कोई भी वैब
सर्वर क्लांइंट को अपने पोर्ट ८० में ही कनेक्ट करने की अनुमति देता है। लेकिन
सुरक्षा के लिये वैब सर्वर में एस.एस.एल. या टी.एस.एल सपोर्ट होता है जो क्लांइंट
को वैब सर्वर के पोर्ट 443 में कनेक्ट करता है।
सत्यापन (Authentication): आप वैब सर्वर के द्वारा अपने क्लांइट को सत्यापित भी कर
सकते हैं अर्थात आप उन्ही क्लांइट के निर्देश ले सकते हैं या उन्हे दे सकते हैं
जिन्हे आपने किसी भी सत्यापन विधि से सत्यापित कर लिया है। जैसे कि यूजर-नेम और
पासवर्ड.आप चाहें तो आप अपने वैब सर्वर की केवल चुनिंदा सामग्री या फिर पूरी
सामग्री के लिये ऐसा कर सकते हैं।
कंप्रेशन: कभी कभी आपके
क्लांइट आपके वैब सर्वर पर रखी कुछ ऐसी सामग्री मांगते हैं जिसका आकार (साइज) काफी
ज्यादा होता है तो ऐसी स्थिति में बैंडविड्थ बचाने के लिये वैब सर्वर उस सामग्री
को कंप्रेस कर उसे छोटे आकार में परिवर्तित कर देता है।
वर्चुअल होस्टिंग :
अधिकतर वैब सर्वर वर्चुअल होस्टिंग की सुविधा देते हैं। वर्चुअल होस्टिंग वह है
जिसमें एक ही आई.पी एड्रेस के द्वारा एक से अधिक साइट्स को वैब सर्वर पर स्थापित
किया जाता है।
अधिकतर वैब सर्वर स्टैटिक
सामग्री और डायनामिक सामग्री दोनों को भेजने में सक्षम होते हैं। स्टैटिक सामग्री
वह सामग्री जो कि पूर्व निर्धारित है जैसे किसी कंपनी के बारे में जानकारी या कोई
डॉक्यूमेंट. डायनामिक सामग्री वह सामग्री है जो क्लांइट के अनुसार, समय के अनुसार या फिर किसी और आधार पर बदलती रहती है। जैसे यदि मैं अपने शहर
के ही समाचार देखना चाहूं तो मुझे केवल अपने शहर के समाचार ही दिखेंगे.
वैब सर्वर के लिये आजकल
बहुत से सॉफ्टवेयर उपलब्ध हैं जैसे माइक्रोसोफ्ट का आई.आई. एस.(Microsoft IIS), अपाची (Apache), गूगल का जीएफी (GFE by Google), नैटस्केप (Netscape) आदि.इनमे से कुछ
कॉमर्शियल सॉफ्टवेयर हैं तो कुछ मुफ्त.अपाची मुफ्त और मुक्त सॉफ्टवेयर है और
अंतरजाल पर उपस्थित बहुत सी साइट्स इसी पर स्थापित हैं।
स्क्रिप्टिंग और
प्रोग्रामिंग लैंग्वेज में क्या अंतर है?
मूल रूप से, सभी स्क्रिप्टिंग भाषाएं प्रोग्रामिंग भाषाएं हैं। दोनों के
बीच सैद्धांतिक अंतर यह है कि स्क्रिप्टिंग भाषाओं को संकलन कदम की आवश्यकता नहीं
होती है और इसकी व्याख्या की जाती है। उदाहरण के लिए, आमतौर पर, सी प्रोग्राम को
चलाने से पहले संकलित करने की आवश्यकता होती है जबकि सामान्य रूप से, जावास्क्रिप्ट या PHP जैसी स्क्रिप्टिंग भाषा को संकलित करने की आवश्यकता नहीं होती है।
आम तौर पर, संकलित कार्यक्रम व्याख्या किए गए कार्यक्रमों की तुलना में
तेजी से चलते हैं क्योंकि वे पहले देशी मशीन कोड परिवर्तित होते हैं। इसके अलावा, कंपाइलर केवल एक बार कोड को पढ़ते और उसका विश्लेषण करते
हैं, और त्रुटियों को सामूहिक रूप से रिपोर्ट करते
हैं जो कोड हो सकता है, लेकिन दुभाषिया
कोड स्टेटमेंट को पढ़ेगा और विश्लेषण करेगा जब भी यह उनसे मिले और कुछ त्रुटि होने
पर उसी उदाहरण पर रुके। व्यवहार में, आधुनिक हार्डवेयर
और उन्नत कोडिंग प्रथाओं की बेहतर कम्प्यूटिंग क्षमताओं के कारण दोनों के बीच अंतर
धुंधला हो रहा है।
एक और ध्यान देने योग्य
बात यह है कि किसी भाषा को स्क्रिप्टिंग लैंग्वेज या प्रोग्रामिंग लैंग्वेज के रूप
में वर्गीकृत करते समय, जिस पर्यावरण पर
वह अमल करेगा, उसे ध्यान में
रखा जाना चाहिए। यह महत्वपूर्ण है कि इसका कारण यह है कि हम C भाषा के लिए एक दुभाषिया को डिजाइन कर सकते हैं और इसे एक
स्क्रिप्टिंग भाषा के रूप में उपयोग कर सकते हैं, और साथ ही, हम जावास्क्रिप्ट
के लिए एक संकलक को डिजाइन कर सकते हैं और इसे एक गैर-स्क्रिप्टिंग (संकलित भाषा)
के रूप में उपयोग कर सकते हैं। इसका एक जीवंत उदाहरण Google क्रोम का जावास्क्रिप्ट इंजन V8 है, जो जावास्क्रिप्ट
कोड को मशीन कोड में संकलित करता है, बजाय इसे
व्याख्या करने के।
परंपरागत रूप से एक
स्पष्ट संकलन चरण के बिना पारंपरिक रूप से उपयोग की जाने वाली भाषाएं
जावास्क्रिप्ट, पीएचपी, पायथन, वीबीएसस्क्रिप्ट
हैं।
पारंपरिक रूप से एक
स्पष्ट संकलन कदम के साथ उपयोग की जाने वाली कुछ प्रोग्रामिंग भाषाएं C, C ++
हैं।
स्क्रिप्टिंग भाषाओं के
अनुप्रयोग:
1. एक कार्यक्रम में कुछ
कार्यों को स्वचालित करने के लिए
2. डेटा सेट से जानकारी
निकालना
3. पारंपरिक प्रोग्रामिंग
भाषाओं की तुलना में कम कोड गहन
प्रोग्रामिंग भाषाओं के
अनुप्रयोग:
1. वे आमतौर पर स्क्रिप्ट
जैसे मूल कार्यक्रम के अंदर चलते हैं
2. गणितीय मॉडल के साथ
कोड को एकीकृत करते समय अधिक संगत
3. JAVA जैसी भाषाओं को किसी भी प्लेटफॉर्म पर संकलित किया जा सकता
THANKS SIR
ReplyDelete