Apache क्या है?
In this page:
एक Web Server, Website नहीं
Apache खुद कोई website नहीं है -- यह वह software है जो websites को *serve* करता है। यह एक network port पर सुनता है (plain HTTP के लिए port 80, HTTPS के लिए 443), browsers से आने वाली requests को accept करता है, पता लगाता है कि कौन सी file या program हर request को handle करे, और वापस एक response भेजता है। असली content -- HTML files, images, एक PHP या Django application -- अलग रहता है; Apache internet और उस content के बीच की layer है।
एक संक्षिप्त इतिहास
Apache पहली बार 1995 में Apache Group (अब Apache Software Foundation) द्वारा release हुआ था और जल्दी ही early internet का dominant web server बन गया। इसका नाम अक्सर "a patchy server" से आया बताया जाता है -- यानी original NCSA HTTPd server पर लगाए गए patches का एक set, जिस पर यह based था। दशकों बाद भी यह Nginx जैसे नए servers के साथ-साथ आज भी websites के एक बड़े हिस्से को power करता है।
Apache असल में करता क्या है
एक static site के लिए, Apache disk से सीधे एक HTML file पढ़ता है और उसे as-is वापस भेज देता है। एक dynamic site के लिए, यह request को किसी और चीज़ को सौंप देता है -- mod_php या PHP-FPM के जरिए एक PHP interpreter को, या Gunicorn/uWSGI को proxy करके एक Python app को -- result का इंतज़ार करता है, और उसे browser तक forward कर देता है। यह हर web server को चाहिए होने वाली चीज़ें भी handle करता है: requests को सही directory पर route करना, files को सही MIME type के साथ serve करना, responses को compress करना, और हर request को log करना।
Apache बनाम Nginx बनाम बाकी
Apache अकेला web server नहीं है -- Nginx, Microsoft IIS, और LiteSpeed आम alternatives हैं। Apache की परंपरागत strength इसका बड़ा module ecosystem और इसका .htaccess per-directory configuration है, जिसने इसे shared hosting के लिए favorite बनाया। Nginx को अक्सर कम memory में एक साथ ज़्यादा connections handle करने के लिए सराहा जाता है। practice में दोनों capable, production-grade servers हैं, और Nginx को Apache के आगे एक reverse proxy की तरह रखा जाना आम बात है।
- यह सोचना कि Apache *ही* website है, जबकि यह उसे serve करने वाला program है -- असली pages, images, और application code अलग files में रहते हैं जिन्हें Apache बस पढ़कर भेजता है।
- यह मान लेना कि कोई website बनाने के लिए Apache ज़रूरी है -- यह कई विकल्पों में से एक implementation choice है (Nginx, IIS, वगैरह), हर web project को चाहिए होने वाली चीज़ नहीं।
- Apache HTTP Server को दूसरे Apache Software Foundation projects (Apache Kafka, Apache Spark, Apache Tomcat) से confuse करना, जो "Apache" नाम शेयर करते हैं लेकिन अलग काम करते हैं।
Chapter Quiz — Complete all 4 topics to unlock
0/4 topics done
Complete these topics first: