Apache är gratis programvara med öppen källkod för webbserver som används av ca 40 % av webbplatserna över hela världen. Apache HTTP Server är dess officiella namn. Den är utvecklad och underhållen av Apache Software Foundation . Apache tillåter ägarna av webbplatserna att visa innehåll över webben. Det är anledningen till att det är känt som en webbserver .' En av de mest pålitliga och gamla versionerna av Apache-webbservern publicerades 1995.
Om någon vill besöka någon webbplats fyller de i namnet på domänen i webbläsarens adressfält. Webbservern kommer att ta med de begärda filerna genom att utföra som virtuell leveransperson.
Webbserverns betydelse
E-postservrar, databasservrar, webbservrar, och filservrar använda olika typer av serverprogramvara. Alla dessa applikationer kan komma åt många filer sparade på den fysiska servern och använda dem för många syften.
Syftet med webbservrarna är att leverera hemsidor över internet. Den beter sig som en mellanhand bland klientdatorerna och servrarna för att uppnå det målet. Den kan dra innehållet genom servern över varje användarförfrågan. Dessutom levererar den denna begäran till webben.
En av de mest kritiska uppgifterna för en webbserver är att tillhandahålla tjänster till olika användare av webben samtidigt. Webbservrar exekverar filer som anges i en annan typ av programmeringsspråk som Java , Pytonorm , PHP , och många andra. Webbservrar förvandlar dessa filer till statiska HTML-filer. Den tillhandahåller tjänster till dessa filer i webbserverns webbläsare. Webbläsare kan definieras som ett verktyg som ansvarar för anständig klient-serverkommunikation.
Arbetar med Apache
Apache är inte någon fysisk server; det är programvara som körs på servern. Däremot definierar vi det som en webbserver. Dess mål är att skapa en koppling mellan webbläsarna för webbplatsbesökarna (Safari, Google Chrome, Firefox, etc.) och servern. Apache kan definieras som plattformsoberoende programvara, så det kan fungera på Windows-servrar och UNIX.
heltal jämfört med java
När någon besökare vill ladda en sida på vår webbplats, hemsidan, till exempel, eller vår sida 'Om oss', kommer besökarens webbläsare att skicka en förfrågan till vår server. Apache kommer att returnera ett svar tillsammans med varje begärd fil (bilder, filer, etc.). Klienten och servern kommunicerar med HTTP-protokoll och Apache ansvarar för säker och smidig kommunikation mellan båda maskinerna.
Apache är mjukvara som är hög anpassningsbar . Den innehåller den modulbaserade strukturen. Olika moduler tillåter serveradministratörer att stänga av och på ytterligare funktioner. Apache innehåller moduler för cachelagring, säkerhet, lösenordsautentisering, URL-omskrivning och andra ändamål. Vi kan också ställa in vår egen konfiguration av servern med hjälp av en fil som kallas .htaccess . Det är en konfigurationsfil för Apache som stöds.
bikupa arkitektur
Andra webbservrar vs. Apache
Det finns så många webbservrar tillgängliga som skiljer sig från Apache. Alla webbserverns applikationer har byggts för olika typer av syften. Apache har några rivaler och alternativ och det är mest använda mjukvara.
Apache vs. NGINX
Nginx uttalas som Motor-X . Det är en ny applikation av webbserver och publicerades först 2004. Nginx har vunnit popularitet bland ägare av webbplatserna. Det utvecklades för att lösa c10k-problemet, vilket innebär att webbservrarna som använder trådar för att hantera olika förfrågningar från användare inte kan hantera 10 000+ anslutningar åt gången.
- Ägarna av webbplatserna med mycket trafik kan stöta på prestandaproblem eftersom Apache använder en trådbaserad struktur. Nginx definierar c10k-frågan som förmodligen är en av de mest lyckliga.
- Nginx innehåller händelsedriven arkitektur. Det bygger inte en nyare process för alla förfrågningar. I stället för att hantera alla inkommande förfrågningar i en enskild tråd. Denna process hanterar olika arbetsprocesser som implementerar förfrågans faktiska bearbetning. Nginx händelsebaserade modell delar användarförfrågningar mellan arbetartekniker på ett enkelt och effektivt sätt, vilket ger bättre skalbarhet.
- Nginx kan vara ett bättre val eftersom det kan hantera webbplatser med hög trafik genom att använda minimala resurser. Mer specifikt kan det användas av flera högsynta webbplatser som Airbnb, Pinterest, Hulu och Netflix.
- Apache ger dock många fördelar på Nginx eftersom den har en enkel konfiguration, en nybörjarvänlig miljö och olika moduler för medelstora eller små spelare.
Apache vs Tomcat
Hankatt cab definieras som en webbserver och den är förbättrad av Apache Software Foundation. Därför är Apache Tomcat dess officiella namn. Tomcat är också en HTTP-server. Det förbättrar dock Java-applikationer snarare än statiska webbplatser. Denna webbserver kan köra många distinkta Java-applikationer som WebSocket, Java EL, JSP (JavaServer-sidor), och Java Servlet .
- Specifikt skapades Tomcat för Java-applikationer, medan Apache har skapats som en HTTP-server. Vi kan tillämpa Apache med distinkta programmeringsspråk (Perl, Python, PHP, etc.) med stöd av den rätta Apache-modulen (mod_perl, mod_python, mod_php, etc.).
- Även om vi kan använda en Tomcat-webbserver för visning av webbsidor (statisk), är den mindre effektiv för detta ändamål jämfört med Apache-servern. Tomcat kan förinstallera Java VM och andra Java-bibliotek som vi inte behöver på de flesta webbplatser.
- Dessutom är Tomcat mindre konfigurerbar jämfört med andra typer av webbservrar. Det bästa alternativet är en HTTP-server som NGINX eller Apache för att köra WordPress.
För- och nackdelar med Apache
Apache kan vara ett utmärkt alternativ för att köra vår webbplats på en mångsidig och stabil plattform. Även om det kommer med några nackdelar som vi måste förstå.
Fördelar:
- Stabil och pålitlig programvara.
- Gratis och öppen källkod, även för ekonomiskt bruk.
- Regelbundna säkerhetskorrigeringar, uppdateras ofta.
- Nybörjarvänlig, lätt att konfigurera.
- Flexibel på grund av den modulbaserade strukturen.
- Fungerar ur en låda med WordPress-sajterna.
- Cross-platform (implementeras på Windows-servrar och Unix).
- Lätttillgänglig support och stor gemenskap vid alla problem.
Nackdelar:
- Olika prestandaproblem på webbplatser med extremt mycket trafik.
- Flera konfigurationsalternativ kan orsaka säkerhetskänslighet.
Versioner av Apache
Version 1.1
Denna version av Apache godkändes 2000 av ASF. Den huvudsakliga ändringen ligger inom 'reklamklausulen' från licens 1.0. 'Reklamklausul' härledd produkt behövs inte längre för att inkludera aspekter av reklammaterialet (endast i dokumentationen).
storleken på vektorn c++
Version 2.0
Version 2.0 av Apache antogs av ASF i januari 2004. Dess uttalade mål inkluderade att göra licensen lätt att ansöka för vissa icke-ASF-projekt. Det kan förbättra kompatibiliteten med den GPL-baserade programvaran. Det gör att licensen kan läggas till genom referens istället för att listas i alla filer. Det klargör också licensen över bidrag. Den behöver någon patentlicens över bidrag som med nödvändighet gör intrång i bidragets patent.
Säkerhet för Apache
Precis som andra webbservrar kan Apache utnyttjas och hackas. Apaches främsta attackverktyg är Slowloris. Slowloris kan utnyttja buggarna i Apache-programvaran. Den kan bygga flera sockets och håller alla dessa sockets vid liv och skickar olika byte (kallade 'keep-alive headers') för att informera servern om att systemet är anslutet och inte har några nätverksproblem.
Många utvecklare av Apache har definierat Slowloris med flera moduler för att begränsa skadorna. Olika moduler av Apache som t.ex mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, och mod_limitipconn har var och en föreslagits för att minska risken för en framgångsrik attack av Slowloris. Apache skickar mod_reqtimeout-modulen som den verkställande lösningen som marknadsförs av utvecklarna sedan Apache 2.2.15.
Utveckling av Apache
Apache HTTP-serverversioner
Senaste släppningen | Initial release | Version |
---|---|---|
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-12-01 | 2.2 |
2020-07-08 (2.4.46) | 2012-02-21 | 2.4 |
Apache-projektet är ett kollektivt förbättringsarbete för mjukvara som syftar till att göra en kommersiell kvalitet, robust, fritt tillgänglig, funktionsrik källkod HTTP Server-implementering. Tillsammans har projektet skötts av ett team av volontärer placerade överallt. Det kan göras genom att använda webben och internet för att utveckla, kommunicera och planera vilken server som helst och tillhörande dokumentation.
Projektet är en del av Apache Software Foundation. Många användare har delat med sig av sin kod, dokumentation och idéer till projektet.
Apache 2.4-versionen ger stöd för Tandem, NeXT, UX/A, TPF och BeOS-plattformar.