logo

Hvad er Apache?

Apache er gratis og open source software til webserver, der bruges af ca 40 % af websteder over hele verden. Apache HTTP Server er dens officielle navn. Det er udviklet og vedligeholdt af Apache Software Foundation . Apache tillader ejerne af webstederne at vise indhold over nettet. Det er grunden til, at det er kendt som en ' Webserver .' En af de mest pålidelige og gamle versioner af Apache-webserveren blev udgivet i 1995.

Hvis nogen ønsker at besøge et websted, udfylder de navnet på domænet i deres browsers adresselinje. Webserveren vil bringe de ønskede filer ved at optræde som den virtuelle leveringsperson.

Webserver betydning

Mailservere, databaseservere, webservere, og filservere bruge forskellige typer serversoftware. Alle disse applikationer kan få adgang til en masse filer gemt på den fysiske server og anvende dem til mange formål.

Formålet med webserverne er at levere hjemmesider over internettet. Den opfører sig som en mellemmand blandt klientmaskinerne og serverne for at nå dette mål. Det kan trække indholdet gennem serveren over hver brugeranmodning. Det leverer også denne anmodning til internettet.

En af de mest kritiske opgaver for enhver webserver er at levere tjenester til forskellige forskellige brugere af nettet på samme tid. Webservere udfører filer specificeret i en anden type programmeringssprog som f.eks Java , Python , PHP , og mange andre. Webservere omdanner disse filer til statiske HTML-filer. Det leverer tjenester til disse filer i webserverbrowseren. Webbrowser kan defineres som et værktøj, der er ansvarlig for anstændig klient-server-kommunikation.

Apaches arbejde

Apache er ikke nogen fysisk server; det er software, der kører på serveren. Vi definerer det dog som en webserver. Dens formål er at opbygge en forbindelse mellem webstedets besøgende browsere (Safari, Google Chrome, Firefox osv.) og serveren. Apache kan defineres som software på tværs af platforme, så det kan fungere på Windows-servere og UNIX.

jquery et klik

Når en besøgende ønsker at indlæse en side på vores hjemmeside, hjemmesiden, for eksempel, eller vores 'Om os'-side, sender den besøgendes browser en anmodning på vores server. Apache vil returnere et svar sammen med hver anmodet fil (billeder, filer osv.). Klienten og serveren kommunikerer ved hjælp af HTTP-protokol, og Apache er ansvarlig for sikker og jævn kommunikation mellem begge maskiner.

Apache er software, der er meget kan tilpasses . Den indeholder den modulbaserede struktur. Forskellige moduler giver serveradministratorer mulighed for at slå yderligere funktionalitet fra og til. Apache indeholder moduler til caching, sikkerhed, adgangskodegodkendelse, URL-omskrivning og andre formål. Vi kan også opsætte vores egen konfiguration af serveren ved hjælp af en fil kendt som .htaccess . Det er en understøttet konfigurationsfil af Apache.

linux $home

Andre webservere vs. Apache

Der er så mange tilgængelige webservere, der er forskellige fra Apache. Alle webserverens applikationer er bygget til forskellige typer formål. Apache har nogle rivaler og alternativer, og det er for det meste brugt software.

Apache vs. NGINX

Hvad er Apache

Nginx udtales som Motor-X . Det er en ny applikation af webserver og først udgivet i 2004. Nginx har vundet popularitet blandt ejere af webstederne. Det blev udviklet til at løse c10k-problemet, hvilket betyder, at webservere, der bruger tråde til at håndtere forskellige anmodninger fra brugere, ikke er i stand til at håndtere 10000+ forbindelser ad gangen.

  1. Ejerne af de meget trafikerede websteder kan støde på ydeevneproblemer, fordi Apache bruger en trådbaseret struktur. Nginx definerer c10k-problemet, der sandsynligvis er et af de mest heldige.
  2. Nginx indeholder begivenhedsdrevet arkitektur. Det bygger ikke en nyere proces for alle anmodningerne. I stedet for at administrere alle de indgående anmodninger i en individuel tråd. Denne proces håndterer forskellige arbejdsprocesser, der implementerer anmodningens faktiske behandling. Nginx's hændelsesbaserede model deler brugeranmodninger mellem arbejderteknikker på en nem og effektiv måde, så den giver bedre skalerbarhed.
  3. Nginx kan være et bedre valg, fordi det kan administrere websteder med høj trafik ved at bruge et minimum af ressourcer. Mere specifikt kan det bruges af adskillige højsynlighedswebsteder som Airbnb, Pinterest, Hulu og Netflix.
  4. Apache giver dog mange fordele på Nginx, fordi det har en nem konfiguration, et begyndervenligt miljø og forskellige moduler til mellemstore eller små spillere.

Apache vs Tomcat

Hvad er Apache

Tomcat cab defineres som en webserver, og den er forbedret af Apache Software Foundation. Derfor er Apache Tomcat dets officielle navn. Tomcat er også en HTTP-server. Det forbedrer dog Java-applikationer frem for statiske websteder. Denne webserver kan udføre mange forskellige Java-applikationer som WebSocket, Java EL, JSP (JavaServer-sider), og Java Servlet .

  1. Specifikt blev Tomcat skabt til Java-applikationer, mens Apache er blevet oprettet som en HTTP-server. Vi kan anvende Apache med forskellige programmeringssprog (Perl, Python, PHP osv.) med understøttelse af det rigtige Apache-modul (mod_perl, mod_python, mod_php osv.).
  2. Selvom vi kan anvende en Tomcat-webserver til visning af websider (statisk), er den mindre effektiv til dette formål sammenlignet med Apache-serveren. Tomcat kan forudindlæse Java VM og andre Java-biblioteker, som vi ikke vil kræve på de fleste af webstederne.
  3. Også Tomcat er mindre konfigurerbar sammenlignet med andre typer webservere. Den bedste mulighed er en HTTP-server som NGINX eller Apache til at udføre WordPress.

Fordele og ulemper ved Apache

Apache kan være en fremragende mulighed for at eksekvere vores hjemmeside på en alsidig og stabil platform. Selvom det kommer med et par ulemper, vi skal forstå.

Fordele:

  1. Stabil og pålidelig software.
  2. Gratis og open source, selv til økonomisk brug.
  3. Regelmæssige sikkerhedsrettelser, opdateres ofte.
  4. Begyndervenlig, nem at konfigurere.
  5. Fleksibel på grund af den modulbaserede struktur.
  6. Fungerer ud af en boks med WordPress-websteder.
  7. Cross-platform (implementerer på Windows-servere og Unix).
  8. Let tilgængelig support og stort fællesskab i tilfælde af ethvert problem.

Ulemper:

  1. Forskellige præstationsproblemer på websteder med ekstremt stor trafik.
  2. Flere konfigurationsmuligheder kan forårsage sikkerhedsfølsomhed.

Versioner af Apache

Version 1.1

Denne version af Apache blev godkendt i 2000 af ASF. Den væsentligste ændring er inden for 'annonceklausulen' fra licens 1.0. 'Reklameklausul' afledt produkt er ikke længere nødvendig for at inkludere aspekter af reklamematerialet (kun i dokumentationen).

b plus træ

Version 2.0

Version 2.0 af Apache blev vedtaget af ASF i januar 2004. Dens erklærede mål omfattede at gøre licensen nem at anvende for nogle ikke-ASF-projekter. Det kan forbedre kompatibiliteten med den GPL-baserede software. Det tillader, at licensen tilføjes ved reference i stedet for at blive opført i alle filerne. Det præciserer også licensen over bidrag. Det har brug for enhver patentlicens i forhold til bidrag, der nødvendigvis krænker bidragets patenter.

Apaches sikkerhed

Som andre webservere kan Apache udnyttes og hackes. Apaches vigtigste angrebsværktøj er Slowloris. Slowloris kan udnytte fejlene i Apache-softwaren. Det kan bygge flere sockets og holder alle disse sockets i live og sender forskellige bytes (kaldet 'keep-alive headers') for at informere serveren om, at systemet er tilsluttet og ikke står over for nogen netværksproblemer.

Mange udviklere af Apache har defineret Slowloris med adskillige moduler for at begrænse den forårsagede skade. Forskellige moduler af Apache som f.eks mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, og mod_limitipconn er hver især blevet foreslået for at reducere muligheden for det vellykkede angreb af Slowloris. Apache sender mod_reqtimeout-modulet som den executive-løsning, der er fremmet af udviklerne siden Apache 2.2.15.

Udvikling af Apache

Apache HTTP Server versioner

Seneste udgivelse Første udgivelse Version
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-projektet er en kollektiv softwareforbedringsindsats, der har til formål at lave en kommerciel, robust, frit tilgængelig, funktionsrig kildekode HTTP-serverimplementering. I fællesskab er projektet blevet varetaget af et hold af frivillige placeret rundt omkring overalt. Det kan gøres ved at bruge internettet og internettet til at udvikle, kommunikere og planlægge enhver server og den tilhørende dokumentation.

Projektet er en faktor i Apache Software Foundation. Mange brugere har delt deres kode, dokumentation og ideer til projektet.
Apache 2.4-versionen understøtter Tandem-, NeXT-, UX/A-, TPF- og BeOS-platforme.