وب‌سرور آپاچی

کارساز وب آپاچی یا سرویس دهنده اچ‌تی‌تی‌پی آپاچی که بیشتر آن را آپاچی می‌نامند، یک برنامه کارساز وب است که نقش کلیدی در توسعه دنیای وب ایفا می‌کند. در سال ۲۰۰۹ آپاچی اولین برنامه کارساز وب بود که حدود ۱۰۰ میلیون وب‌گاه به کمک آن سرویس‌دهی می‌کردند. آپاچی همچنین نقشی کلیدی در گسترش آغازین شبکه جهانی اینترنت داشته‌است. از این سرویس دهنده به‌طور معمول در محیط‌های بر پایه یونیکس و لینوکس استفاده می‌شود.
آپاچی توسط انجمن برنامه‌نویسان آزاد توسعه و پشتیبانی می‌شود و تحت حمایت بنیاد نرم‌افزاری آپاچی قرار دارد.
این برنامه برای طیف بسیار وسیعی از سیستم‌های عامل قابل استفاده است. از جمله آن‌ها: یونیکس، گنو، فری بی‌اس‌دی، لینوکس، سولاریس، NovelNetware, آمیگاااس، مک‌ااس‌اکس، ویندوز، OS/2 و eComStation.
این برنامه تحت مجور آپاچی بوده و به‌صورت متن‌باز است؛ و از سال ۱۹۹۶ تاکنون پرکاربردترین برنامه در حوزه خود است.
در فوریه ۲۰۱۱ بیش از ۵۹٫۱۳٪ وب‌گاه‌ها را پشتیبانی می‌کرد؛ و در همین تاریخ، سرویس‌دهی ۶۶٫۶۲٪ از میلیون‌ها سایت پرترافیک، توسط آپاچی انجام می‌شد.
بسیاری از ویژگی‌ها و خدمات آپاچی به صورت ویژگی درونی است.
خصوصیات و ویژگی‌ها
ویژگی‌های این برنامه بسیار گسترده‌است؛ از پشتیبانی زبان‌های برنامه‌نویسی سمت سرور گرفته تا تصدیق هویت.
تعدادی از زبان‌های برنامه‌نویسی قابل پشتیبانی عبارتند از: perl, python, TCL و PHP.
ماژول‌های تصدیق هویت شامل: mod_access, mod_auth,… . پشتیبانی از SSL, TLS.
پشتیبانی از URL rewiter یا بازنویسی URL.
پشتیبانی از ثبت وقایع در فایل به‌صورت اختصاصی.
پشتیبانی از روش‌های فشرده‌سازی معمول و عمومی و نیز قابل توسعه همچون mod_gzip که برای کاهش حجم صفحات وب که در اینترنت تبادل پیدا می‌کنند استفاده می‌شود.
modSecurity که یک برنامه متن‌باز برای تشخیص و جلوگیری از نفوذ به برنامه‌های تحت وب است.
وقایع ثبت شده آپاچی می‌تواند توسط اسکریپت‌های رایگاه همچون AWStats, W3Perl یا Visitors مورد تحلیل قرار گیرد و توسط مرورگر در اختیار تحلیل‌گر بازدید قرار گیرد.
VirtualHost قابلیتی را فراهم می‌کند که یک نسخه از آپاچی برای وب سایت‌های بسیاری مورد استفاده قرار گیرد. به عنوان مثال: www.example.com , www.test.com , test47.testserver.test.com.
قابلیت تنظیم و اختصاصی نمودن انواع پیام‌های خطا.
تصدیق هویت براساس بانک اطلاعاتی.
همچنین آپاچی توسط چندین برنامه رابط گرافیکی پشتیبانی می‌شود.
contentnegotiation ارایه چند محتوای متفاوت برای یک آدرس. برای این استفاده می‌شود که چند سند مختلف برای یک آدرس ارسال شود. کاربرد آن مثلا در زمانی است که IE4 از فرمت PNG پشتیبانی نمی‌کند و به جای آن شما نسخه gif را برای مرورگر ارسال می‌کنید. یا مثلا براساس UserAgent نسخه موبایل برای مرورگر ارسال می‌کنید.
سطح عملکرد و کارایی
اگر چه هدف طراحی آپاچی کاراییی بالا نبود ولی این برنامه با سرویس‌دهندگان پرسرعت وب قابل مقایسه است.
از تکنیک MultiProcess , MultiThreading پشتیبانی می‌کند.
در مراحلی از توسعه آپاچی، آن را از ابتدا و از صفر کد زده‌اند.
پشتیبانی از IPv6.
کارساز اچ‌تی‌تی‌پی آپاچی یک برنامه اجرایی HTTP Server در محیط کامپیوتری است که به دلیل برخی از امکانات ویژه‌ای که دارد به سرعت در حال گسترش است. می‌توان گفت که آپاچی برای برنامه‌نویسان حرفه‌ای برنامه‌ای فوق‌العاده‌است که به لحاظ امنیتی نیز به حفاظت سرورها و برنامه‌های موجود در آن‌ها کمک می‌کند.
متداول‌ترین استفاده از ویژگی‌های این برنامه htaccess است که طراحان حرفه‌ای در محیط لینوکس از آن بهره می‌گیرند. برای نمونه زمانی که بخواهند اولین صفحه در سایت، صفحه به‌خصوصی باشد با یک دستور در آن پرونده (فایل) این امر ممکن می‌گردد یا زمانی که صاحب سایت مایل نیست که فایل‌های موجود در سرور وی توسط دیگران دزدیده شود و بخواهد که مانع از پیوند مستقیم آن‌ها شود آپاچی کمک می‌کند تا به خواستشان برسند. زمانی که برنامه‌نویس بخواهد که محل واقعی صفحات دیده نشود نیز این برنامه مورد استفاده قرار می‌گیرد.
کاربردها
یکی از کاربردی‌ترین موارد مربوط به آپاچی برای برنامه‌نویسان استفاده از پرونده (فایل htaccess) است. برنامه‌نویس می‌تواند با اعمال تغییراتی در این پرونده که بر هر شاخه‌ای قابل اضافه شدن است دستورهای ویژه آن شاخه را به سرور ارائه دهد. برای نمونه اگر بخواهد که در صورت وارد کردن نشانی aa.html نام آن باقی بماند ولی در واقع پرونده main.php?page=bb اجرا شود به‌وسیله این پرونده قادر به اعمال دستورش خواهد بود.
ساختار