Az Apache ingyenes és nyílt forráskódú webszerver szoftver, amelyet kb a weboldalak 40%-a az egész világon. Apache HTTP Server a hivatalos neve. Fejlesztője és karbantartása a Apache Software Foundation . Az Apache lehetővé teszi a webhelyek tulajdonosai számára, hogy tartalmat szolgáltassanak ki az interneten keresztül. Ez az oka annak, hogy '' web szerver .' Az Apache webszerver egyik legmegbízhatóbb és legrégebbi verziója 1995-ben jelent meg.
Ha valaki meg kíván látogatni egy weboldalt, akkor a böngésző címsorába írja be a domain nevét. A webszerver virtuális kézbesítőként elhozza a kért fájlokat.
Webszerver jelentése
Levélkiszolgálók, adatbázis-szerverek, webszerverek, és fájlszerverek különböző típusú szerverszoftvereket használjon. Mindezek az alkalmazások sok, a fizikai szerveren mentett fájlhoz hozzáférhetnek, és számos célra felhasználhatják őket.
A webszerverek célja, hogy weboldalakat szállítsanak az interneten keresztül. E cél elérése érdekében közvetítőként viselkedik a kliens gépek és szerverek között. Minden felhasználói kérés felett át tudja húzni a tartalmat a szerveren. Ezenkívül ezt a kérést továbbítja az internetre.
Minden webszerver egyik legkritikusabb feladata, hogy egyidejűleg szolgáltatásokat nyújtson a web különböző felhasználóinak. A webszerverek más típusú programozási nyelveken meghatározott fájlokat hajtanak végre, mint pl Jáva , Piton , PHP , és sokan mások. A webszerverek ezeket a fájlokat statikus HTML-fájlokká alakítják. Szolgáltatásokat biztosít ezekhez a fájlokhoz a webszerver böngészőjében. A webböngésző olyan eszközként definiálható, amely alkalmas a megfelelő ügyfél-szerver kommunikációra.
Az Apache működése
Az Apache nem akármilyen fizikai szerver; ez egy szoftver, amely a szerveren fut. Mi azonban webszerverként definiáljuk. Célja, hogy kapcsolatot építsen ki a honlapot látogató böngészők (Safari, Google Chrome, Firefox stb.) és a szerver között. Az Apache többplatformos szoftverként definiálható, így Windows szervereken és UNIX-on is működhet.
összefűző karakterláncok
Ha bármely látogató be kíván tölteni egy oldalt weboldalunkra, például a kezdőlapra vagy a 'Rólunk' oldalunkra, a látogató böngészője kérést küld a szerverünkre. Az Apache minden kért fájllal (képekkel, fájlokkal stb.) ad választ. A kliens és a szerver HTTP protokollon keresztül kommunikál egymással, és az Apache felelős a biztonságos és zavartalan kommunikációért a két gép között.
Az Apache magas színvonalú szoftver testreszabható . Ez tartalmazza a modul alapú struktúrát. A különféle modulok lehetővé teszik a szerveradminisztrátorok számára a további funkciók ki- és bekapcsolását. Az Apache modulokat tartalmaz gyorsítótárazáshoz, biztonsághoz, jelszó-hitelesítéshez, URL-újraíráshoz és egyéb célokra. Ezenkívül beállíthatjuk a szerver saját konfigurációját egy fájl segítségével .htaccess . Ez az Apache támogatott konfigurációs fájlja.
Egyéb webszerverek vs. Apache
Nagyon sok webszerver áll rendelkezésre, amelyek különböznek az Apache-tól. A webszerver összes alkalmazása különböző típusú célokra készült. Az Apache-nak van néhány vetélytársa és alternatívája, és ez többnyire használt szoftver.
Apache vs. NGINX
Az Nginxet úgy ejtik, mint Motor-X . Ez a webszerver új alkalmazása, amelyet először 2004-ben adtak ki. Az Nginx népszerűségre tett szert a webhelyek tulajdonosai körében. A c10k probléma megoldására fejlesztették ki, ami azt jelenti, hogy a különböző felhasználói kérések kezelésére szálakat használó webszerverek nem képesek egyszerre több mint 10000 kapcsolatot kezelni.
- A nagy forgalmú webhelyek tulajdonosai teljesítményproblémákkal szembesülhetnek, mivel az Apache szál alapú struktúrát használ. Az Nginx meghatározza a c10k problémát, amely valószínűleg az egyik legszerencsésebb.
- Az Nginx eseményvezérelt architektúrát tartalmaz. Nem épít fel újabb folyamatot az összes kérésre. Ahelyett, hogy egy egyedi szálban kezeli az összes bejövő kérést. Ez a folyamat különféle munkavégző folyamatokat kezel, amelyek végrehajtják a kérés tényleges feldolgozását. Az Nginx eseményalapú modellje egyszerűen és hatékonyan osztja meg a felhasználói kéréseket a dolgozói technikák között, így jobb skálázhatóságot biztosít.
- Az Nginx jobb választás lehet, mert minimális erőforrás felhasználásával képes kezelni a nagy forgalmú webhelyeket. Pontosabban, számos jól látható webhely használhatja, például az Airbnb, a Pinterest, a Hulu és a Netflix.
- Az Apache azonban számos előnnyel rendelkezik az Nginx-en, mivel egyszerű konfigurációval, kezdőbarát környezettel és különféle modulokkal rendelkezik közepes és kis játékosok számára.
Apache vs. Tomcat
Kandúr cab webszerverként definiálható, és az Apache Software Foundation továbbfejleszti. Ezért az Apache Tomcat a hivatalos neve. A Tomcat egy HTTP szerver is. A statikus webhelyek helyett azonban javítja a Java-alkalmazásokat. Ez a webszerver számos különböző Java-alkalmazást képes futtatni, mint például a WebSocket, Java EL, JSP (JavaServer oldalak), és Java Servlet .
- Pontosabban, a Tomcat Java alkalmazásokhoz, míg az Apache HTTP-kiszolgálóként jött létre. Az Apache-t különböző programozási nyelvekkel (Perl, Python, PHP, stb.) tudjuk alkalmazni a megfelelő Apache modul (mod_perl, mod_python, mod_php stb.) támogatásával.
- Bár alkalmazhatunk Tomcat webszervert a weboldalak (statikus) kiszolgálására, ez kevésbé hatékony erre a célra, mint az Apache szerver. A Tomcat képes előre betölteni a Java virtuális gépet és a Java más könyvtárait, amelyekre a legtöbb webhelyen nincs szükségünk.
- Ezenkívül a Tomcat kevésbé konfigurálható más típusú webszerverekhez képest. A legjobb megoldás egy HTTP-kiszolgáló, például az NGINX vagy az Apache a WordPress futtatásához.
Az Apache előnyei és hátrányai
Az Apache kiváló lehetőség lehet weboldalunk sokoldalú és stabil platformon történő futtatására. Ennek ellenére van néhány hátránya, amelyet meg kell értenünk.
osztály vs objektum java-ban
Előnyök:
- Stabil és megbízható szoftver.
- Ingyenes és nyílt forráskódú, akár gazdaságos használatra is.
- Rendszeres biztonsági javítások, gyakran frissítve.
- Kezdőbarát, könnyen konfigurálható.
- Rugalmas a modul alapú felépítés miatt.
- Kivételesen működik a WordPress webhelyekkel.
- Többplatformos (Windows kiszolgálókon és Unixon valósul meg).
- Könnyen elérhető támogatás és hatalmas közösség bármilyen probléma esetén.
Hátrányok:
- Különféle teljesítményproblémák rendkívül nagy forgalmú webhelyeken.
- Számos konfigurációs lehetőség okozhat biztonsági kockázatot.
Az Apache verziói
1.1-es verzió
Az Apache ezen verzióját 2000-ben engedélyezte az ASF. A fő változás az 1.0-s licencből származó „hirdetési záradékban” található. A „Reklámzáradék”-ból származó termék már nem szükséges a reklámanyagok egyes szempontjainak feltüntetéséhez (csak a dokumentációban).
2.0 verzió
Az Apache 2.0-s verzióját az ASF 2004 januárjában fogadta el. A kinyilvánított céljai között szerepelt a licenc létrehozása néhány nem ASF-projekt számára is. Javíthatja a GPL-alapú szoftverrel való kompatibilitást. Lehetővé teszi, hogy a licencet hivatkozással adják hozzá, nem pedig az összes fájlban. Egyértelművé teszi a hozzájárulást is. Bármilyen szabadalmi engedélyre van szüksége olyan hozzájárulásokra, amelyek szükségszerűen sértik a hozzájárulás szabadalmait.
Az Apache biztonsága
Más webszerverekhez hasonlóan az Apache is kihasználható és feltörhető. Az Apache fő támadóeszköze a Slowloris. A Slowloris kihasználhatja az Apache szoftver hibáit. Több socketet is tud építeni, és életben tartja ezeket a socketeket, és különféle bájtokat küld (úgynevezett „életben tartási fejléceknek”), hogy tájékoztassa a szervert arról, hogy a rendszer csatlakozik, és nincs hálózati probléma.
buborék rendezés python
Az Apache számos fejlesztője a Slowloris-t több modullal határozta meg az okozott károk korlátozására. Az Apache különféle moduljai, mint pl mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, és mod_limitipconn mindegyikről azt javasolták, hogy csökkentsék Slowloris sikeres támadásának lehetőségét. Az Apache a mod_reqtimeout modult a fejlesztők által az Apache 2.2.15 óta támogatott végrehajtó megoldásként szállítja.
Apache fejlesztése
Apache HTTP szerver verziók
Legutolsó kiadás | Első kiadás | Változat |
---|---|---|
2010-02-03 (1.2.42) | 1998-06-06 | 1.3 |
2013-10-07 (2.0.65) | 2002-06-04 | 2.0 |
2017-11-07 (2.2.34) | 2005-01-12 | 2.2 |
2020-07-08 (2.4.46) | 2012-02-21 | 2.4 |
Az Apache projekt egy kollektív szoftverfejlesztési erőfeszítés, amelynek célja egy kereskedelmi szintű, robusztus, szabadon elérhető, funkciókban gazdag forráskódú HTTP Server megvalósítás. A projektet közösen egy önkéntes csapat kezelte, akik mindenhol elhelyezkedtek. Megtehető a web és az internet használatával bármely szerver és a kapcsolódó dokumentáció fejlesztésére, kommunikációjára és tervezésére.
A projekt az Apache Software Foundation egyik tényezője. Sok felhasználó megosztotta kódját, dokumentációját és ötleteit a projekttel.
Az Apache 2.4-es verziója támogatja a Tandem, NeXT, UX/A, TPF és BeOS platformokat.