Apache е безплатен софтуер с отворен код на уеб сървър, който се използва от прибл 40% от уебсайтовете по целия свят. Apache HTTP Server е официалното му име. Разработен е и се поддържа от Софтуерна фондация Apache . Apache позволява на собствениците на уебсайтовете да предоставят съдържание в мрежата. Това е причината, поради която е известен като ' уеб сървър .' Една от най-надеждните и стари версии на уеб сървъра Apache е публикувана през 1995 г.
Ако някой желае да посети който и да е уебсайт, той попълва името на домейна в адресната лента на своя браузър. Уеб сървърът ще донесе исканите файлове, като действа като виртуален доставчик.
Значение на уеб сървъра
Пощенски сървъри, сървъри за бази данни, уеб сървъри, и файлови сървъри използват различни типове сървърен софтуер. Всички тези приложения могат да имат достъп до много файлове, записани на физическия сървър, и да ги прилагат за много цели.
Целта на уеб сървърите е да доставят уебсайтове по интернет. Той се държи като посредник между клиентските машини и сървъри, за да постигне тази цел. Той може да изтегли съдържанието през сървъра при всяка потребителска заявка. Освен това доставя тази заявка в мрежата.
Една от най-критичните задачи на всеки уеб сървър е да предоставя услуги на различни потребители на мрежата едновременно. Уеб сървърите изпълняват файлове, посочени в различен тип езици за програмиране като Java , Python , PHP , и много други. Уеб сървърите превръщат тези файлове в статични HTML файлове. Той предоставя услуги за тези файлове в браузъра на уеб сървъра. Уеб браузърът може да се определи като инструмент, отговорен за прилична комуникация клиент-сървър.
Работа на Apache
Apache не е физически сървър; това е софтуер, който се изпълнява на сървъра. Ние обаче го определяме като уеб сървър. Целта му е да изгради връзка между браузърите на посетителите на уебсайта (Safari, Google Chrome, Firefox и др.) и сървъра. Apache може да се определи като междуплатформен софтуер, така че може да работи на Windows сървъри и UNIX.
fmovies Индия
Когато някой посетител желае да зареди страница на нашия уебсайт, началната страница, например, или нашата страница „За нас“, браузърът на посетителя ще изпрати заявка на нашия сървър. Apache ще върне отговор заедно с всеки заявен файл (изображения, файлове и т.н.). Клиентът и сървърът комуникират чрез HTTP протокол и Apache е отговорен за сигурна и гладка комуникация между двете машини.
Apache е софтуер, който е високо персонализиран . Той съдържа модулна структура. Различни модули позволяват на сървърните администратори да включват и изключват допълнителна функционалност. Apache включва модули за кеширане, сигурност, удостоверяване на парола, пренаписване на URL адреси и други цели. Също така можем да настроим собствена конфигурация на сървъра с помощта на файл, известен като .htaccess . Това е поддържан конфигурационен файл на Apache.
Други уеб сървъри срещу Apache
Има толкова много налични уеб сървъри, които са различни от Apache. Всички приложения на уеб сървъра са изградени за различни видове цели. Apache има някои съперници и алтернативи и е предимно използван софтуер.
Apache срещу NGINX
Nginx се произнася като Двигател-X . Това е ново приложение на уеб сървър и е публикувано за първи път през 2004 г. Nginx придоби популярност сред собствениците на уебсайтове. Той е разработен за решаване на проблема c10k, което означава, че уеб сървърите, използващи нишки за управление на различни заявки на потребители, не могат да обработват 10 000+ връзки наведнъж.
° С#
- Собствениците на уебсайтове с голям трафик могат да срещнат проблеми с производителността, тъй като Apache използва структура, базирана на нишки. Nginx дефинира проблема c10k, който вероятно е един от най-щастливите.
- Nginx съдържа управлявана от събития архитектура. Той не създава по-нов процес за всички заявки. Вместо това, той управлява всички входящи заявки в отделна нишка. Този процес обработва различни работни процеси, които изпълняват действителната обработка на заявката. Базираният на събития модел на Nginx споделя потребителски заявки между работни техники по лесен и ефективен начин, следователно осигурява по-добра скалируемост.
- Nginx може да бъде по-добър избор, защото може да управлява уебсайтове с голям трафик, като използва минимални ресурси. По-конкретно, той може да се използва от няколко уебсайта с висока видимост като Airbnb, Pinterest, Hulu и Netflix.
- Въпреки това Apache предоставя много предимства на Nginx, защото има лесна конфигурация, удобна за начинаещи среда и различни модули за средни или малки играчи.
Apache срещу Tomcat
котка cab се дефинира като уеб сървър и е подобрен от Apache Software Foundation. Следователно Apache Tomcat е официалното му име. Tomcat също е HTTP сървър. Въпреки това подобрява Java приложенията, а не статичните уебсайтове. Този уеб сървър може да изпълнява много различни Java приложения като WebSocket, Java EL, JSP (страници на JavaServer) и Java сървлет .
- По-конкретно, Tomcat е създаден за Java приложения, докато Apache е създаден като HTTP сървър. Можем да приложим Apache с различни езици за програмиране (Perl, Python, PHP и т.н.) с поддръжката на подходящия модул на Apache (mod_perl, mod_python, mod_php и т.н.).
- Въпреки че можем да приложим уеб сървър Tomcat за обслужване на уеб страници (статични), той е по-малко ефективен за тази цел в сравнение със сървъра Apache. Tomcat може да зареди предварително Java VM и други библиотеки на Java, които няма да изискваме на повечето уебсайтове.
- Освен това Tomcat е по-малко конфигурируем в сравнение с други видове уеб сървъри. Най-добрият вариант е HTTP сървър като NGINX или Apache за изпълнение на WordPress.
Плюсове и минуси на Apache
Apache може да бъде отлична опция за изпълнение на нашия уебсайт на гъвкава и стабилна платформа. Въпреки това идва с няколко недостатъка, които трябва да разберем.
Професионалисти:
- Стабилен и надежден софтуер.
- Безплатен и с отворен код, дори за икономична употреба.
- Редовни корекции за сигурност, често актуализирани.
- Удобен за начинаещи, лесен за конфигуриране.
- Гъвкав поради модулната структура.
- Работи готово със сайтовете на WordPress.
- Кросплатформен (имплементиран на Windows сървъри и Unix).
- Лесно достъпна поддръжка и огромна общност в случай на проблем.
Минуси:
- Различни проблеми с производителността на уебсайтове с изключително голям трафик.
- Няколко опции за конфигурация могат да причинят податливост на сигурността.
Версии на Apache
Версия 1.1
Тази версия на Apache беше разрешена през 2000 г. от ASF. Основната промяна е в рамките на „клаузата за рекламиране“ от лиценз 1.0. Продуктът, получен от „клауза за реклама“, вече не е необходим, за да включва аспекти на рекламните материали (само в документацията).
Версия 2.0
Версия 2.0 на Apache беше приета от ASF през януари 2004 г. Неговите заявени цели включват създаване на лиценз, лесен за кандидатстване за някои проекти, които не са свързани с ASF. Може да подобри съвместимостта с базирания на GPL софтуер. Той позволява лицензът да бъде добавен чрез препратка, вместо да бъде посочен във всички файлове. Той също така изяснява лиценза върху вноските. Необходим е патентен лиценз за приноси, които нарушават патентите на приноса задължително.
Сигурност на Apache
Подобно на други уеб сървъри, Apache може да бъде експлоатиран и хакнат. Основният атакуващ инструмент на Apache е Slowloris. Slowloris може да използва грешките в софтуера Apache. Той може да изгради няколко сокета и поддържа всички тези сокети живи и изпраща различни байтове (наречени „заглавки за поддържане на живи“), за да информира сървъра, че системата е свързана и няма проблеми с мрежата.
Много разработчици на Apache са дефинирали Slowloris с няколко модула за ограничаване на причинените щети. Различни модули на Apache като напр mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, и mod_limitipconn са предложени за намаляване на възможността за успешна атака на Slowloris. Apache доставя модула mod_reqtimeout като изпълнително решение, насърчавано от разработчиците от Apache 2.2.15.
Разработка на Apache
Версии на HTTP сървър на Apache
Последна версия | Първоначално издание | Версия |
---|---|---|
03-02-2010 (1.2.42) | 06.06.1998г | 1.3 |
07-10-2013 (2.0.65) | 04-06-2002 | 2.0 |
07-11-2017 (2.2.34) | 01-12-2005 | 2.2 |
08-07-2020 (2.4.46) | 21.02.2012 г | 2.4 |
Проектът Apache е колективно усилие за подобряване на софтуера, насочено към създаване на реализация на HTTP сървър с комерсиален клас, стабилна, свободно достъпна, богата на функции изходен код. Съвместно проектът се управлява от екип от доброволци, разположени навсякъде. Това може да се направи чрез използване на мрежата и интернет за разработване, комуникация и планиране на всеки сървър и свързаната с него документация.
java шаблон за проектиране
Проектът е фактор на Apache Software Foundation. Много потребители споделиха своя код, документация и идеи за проекта.
Версията на Apache 2.4 осигурява поддръжка за платформи Tandem, NeXT, UX/A, TPF и BeOS.