آپاچی یا Apache HTTP Server یک نوع وب سرور رایگان و منبع باز است. این وبسرور در حال حاضر از نظر تعداد محبوبترین وبسرور دنیا است. علاوه بر محبوبیت، از قدیمیترین وبسرورها نیز به شمار میرود. آپاچی اولین بار در سال 1995 منتشر شد و امروزه بسیاری از میزبانهای وب از Apache استفاده میکنند. به گفته سایت stack بسیاری از شرکتهای بزرگ دنیا مانند لینکدین، Salesforce، General Electric، فیسبوک و Adobe از آپاچی استفاده میکنند.
آپاچی یا Apache HTTP Server
Apache یک نرم افزار وب سرور رایگان و منبع باز (open-source) است که 40% وب سایت های دنیا به وسیله آن راه اندازی شده اند. نام رسمی آن Apache HTTP Server است و توسط بنیاد نرم افزاری آپاچی نگهداری و توسعه یافته است.این نرم افزار به صاحبان وب اجازه می دهد تا محتوای خود را درون اینترنت قرار دهند – به همین دلیل آن را وب سرور استمی نامند. یکی از قدیمی ترین و قابل اطمینان ترین سرور های وب سایت است، که اولین نسخه آن در حدود 20 سال پیش یعنی در سال 1995 منتشر شد.زمانی که کسی تصمیم به بازدید از یک سایت می گیرد، وارد یک نام دامنه از طریق نوار آدرس مرورگر خود می شود. سپس، وب سرور در نقش پستچی مجازی، فایل های خواسته شده را تحویل می دهد.
وب سرور چیست؟
سرورهای پرونده (File servers)، سرورهای پایگاه داده (database servers)، سرورهای پستی (mail servers) و وب سرور ها، هر کدام از یک نرم افزار سرور متفاوت استفاده می کنند. هر کدام از این برنامه ها می توانند به فایل های موجود در سرور فیزیکی دسترسی داشته باشند و برای اهداف مختلفی استفاده شوند.وظیفه وب سرور این است که وب سایت ها را در اینترنت قرار دهد. برای رسیدن به این هدف، نقش یک واسطه را میان سرور و client بازی می کند.
محتوا را به درخواست کاربر از سرور می گیرد و به وب تحویل می دهد.بزرگترین چالش یک وب سرور این است که به طور همزمان به درخواست چند کاربر متفاوت وب جواب دهد – هر کدام از کابران، درخواست صفحات متفاوتی را دارند. وب سرورها فایل هایی را که به زبان های مختلف نوشته شده اند مانند PHP، Python، Java و … را پردازش می کنند.آن ها را تبدیل به فایل های استاتیک HTML می کنند و در مرورگر کاربران اینترنت قرار می دهند. زمانی که کلمه وب سرور را می شنوید، از آن به عنوان ابزاری برای ارتباط مناسب سرور و مشتری یاد می کنید.
وب سرور Apache چگونه کار می کند؟
هرچند آپاچی را یک وب سرور می نامیم، اما یک سرور فیزیکی نیست، نرم افزاری است که بر روی سرور اجرا می شود. وظیفه آن برقراری ارتباط میان سرور و بازدید کنندگان وب سایت (Firefox, Google Chrome, Safari و غیره) است. در حالی که فایل ها را میان آن ها جا به جا می کند (ساختار client-server). آپاچی یک نرم افزار کراس پلتفرم (چند سکویی) است، بر همین اساس در هر دو سرور ویندوز و Unix کار می کند.
زمانی که یک کاربر می خواهد صفحه ای را در سایت شما لود کند، برای مثال، “صفحه اصلی” (homepage) یا “درباره ما”، مرورگر آنها درخواستی را به سرور شما ارسال می کند و آپاچی پاسخی را همراه با فایل های درخواست شده (متن، عکس و …) برمی گرداند. ارتباط سرور و client (مشتری) از طریق پروتکل HTTP و نرم افزار Apache که مسئول یک ارتباط راحت و امن میان دو دستگاه است برقرار می شود.
Apache تا حد زیادی قابل شخصی سازی شدن است، به دلیل اینکه ساختاری ماژول مانند دارد. ماژول ها به مدیران سرورها این اجازه را می دهند تا ویژگی های اضافه را روشن یا خاموش کنند. آپاچی ماژول هایی برای امنیت، ذخیره سازی، بازنویسی URL، احراز هویت رمز عبور و چیزهای دیگر دارد. همچنین می توانید تنظیمات سرور خود را از طریق فایلی به نام .htaccess تنظیم کنید که یک فایل پیکربندی Apache است.
مزایا و ویژگی های وب سرور آپاچی
وظیفه اصلی همه سرورها این است که درخواستهای مشتریان را بپذیرند و سپس پاسخ آن درخواست را ارسال کنند. در این میان برخی از ویژگیهای مثبتی که آپاچی دارد عبارتند از:
- منبع باز (هرکسی قادر به تنظیم کد و بهینه سازی آن است.)
- رایگان (حتی برای استفادههای تجاری)
- سرعت و امنیت بالا
- نصب و پیکربندی آسان
- به روز رسانی منابع امنیتی به طور منظم
- مبتنی بر ماژول
- فشرده سازی Gzip
- سازگار با سیستمهای مدیریت محتوا (CMS) مانند وردپرس و جوملا
- سازگار با سیستم عاملهای لینوکس، مک و ویندوز
معایب Apache
- مشکل عملکردی در وب سایت های با ترافیک بالا
- گزینه های پیکربندی زیاد می تواند باعث آسیب پذیر شدن امنیت شود
البته آپاچی با وجود عملکرد خوب، اما مشکلاتی نیز دارد. به عنوان مثال در وبسایتهایی که ترافیک سنگین دارند دچار مشکل میشود. همچنین تنظیمات پیکربندی بیش از حد ممکن است به امنیت آن آسیب وارد کند.
و در آخر…
در طول چند دهه گذشته، آپاچی (Apache) ثابت کرده است که یک عنصر اصلی در بسیاری از وبسایتهای موجود در اینترنت است. در حالی که محبوبیت این وبسرور در حال کاهش است و گزینههای انتخاب وبسرور در حال افزایش است، Apache هنوز در بسیاری سایتها و شرکتهای میزبانی وب نقشی اساسی دارد. حتی با وجود وبسرورهایی مانند LiteSpeed و NGINX، هر شرکت میزبانی باید نحوه مدیریت و پیکربندی آپاچی را بلد باشد.