logo

Hva er Apache?

Apache er gratis og åpen kildekode programvare av webserver som brukes av ca 40 % av nettstedene over hele verden. Apache HTTP Server er det offisielle navnet. Den er utviklet og vedlikeholdt av Apache Software Foundation . Apache tillater eierne av nettstedene å vise innhold over nettet. Det er grunnen til at det er kjent som en Internett server .' En av de mest pålitelige og gamle versjonene av Apache-nettserveren ble publisert i 1995.

Hvis noen ønsker å besøke et nettsted, fyller de ut navnet på domenet i nettleserens adresselinje. Nettserveren vil bringe de forespurte filene ved å utføre som den virtuelle leveringspersonen.

Webserver betydning

E-postservere, databaseservere, webservere, og filservere bruke ulike typer serverprogramvare. Alle disse programmene kan få tilgang til mange filer lagret på den fysiske serveren og bruke dem for mange formål.

Målet med webserverne er å levere nettsider over internett. Den oppfører seg som en mellommann blant klientmaskinene og serverne for å oppnå dette målet. Den kan trekke innholdet gjennom serveren over hver brukerforespørsel. Den leverer også denne forespørselen til nettet.

En av de mest kritiske oppgavene til enhver webserver er å tilby tjenester til ulike brukere av nettet samtidig. Webservere kjører filer spesifisert i en annen type programmeringsspråk som Java , Python , PHP , og mange andre. Webservere gjør disse filene til statiske HTML-filer. Den gir tjenester til disse filene i nettserverens nettleser. Nettleser kan defineres som et verktøy som er ansvarlig for anstendig klient-server-kommunikasjon.

Arbeid av Apache

Apache er ikke en fysisk server; det er programvare som kjøres på serveren. Vi definerer det imidlertid som en webserver. Målet er å bygge en forbindelse mellom nettleserne for besøkende på nettstedet (Safari, Google Chrome, Firefox, etc.) og serveren. Apache kan defineres som programvare på tvers av plattformer, slik at den kan fungere på Windows-servere og UNIX.

json data eksempel

Når en besøkende ønsker å laste inn en side på vår nettside, hjemmesiden, for eksempel, eller vår 'Om oss'-side, vil den besøkendes nettleser sende en forespørsel på serveren vår. Apache vil returnere et svar sammen med hver forespurt fil (bilder, filer osv.). Klienten og serveren kommuniserer med HTTP-protokollen, og Apache er ansvarlig for sikker og jevn kommunikasjon mellom begge maskinene.

Apache er programvare som er høyt kan tilpasses . Den inneholder den modulbaserte strukturen. Ulike moduler tillater serveradministratorer å slå tilleggsfunksjonalitet av og på. Apache inkluderer moduler for caching, sikkerhet, passordautentisering, URL-omskriving og andre formål. Vi kan også sette opp vår egen konfigurasjon av serveren ved hjelp av en fil kjent som .htaccess . Det er en støttet konfigurasjonsfil av Apache.

konverter streng int java

Andre webservere vs. Apache

Det er så mange tilgjengelige webservere som er forskjellige fra Apache. Alle applikasjonene til webserveren er bygget for ulike typer formål. Apache har noen rivaler og alternativer, og det er mest brukt programvare.

Apache vs. NGINX

Hva er Apache

Nginx uttales som Motor-X . Det er en ny applikasjon av webserver og først publisert i 2004. Nginx har vunnet popularitet blant eiere av nettsidene. Den ble utviklet for å løse c10k-problemet, noe som betyr at webservere som bruker tråder for å administrere ulike forespørsler fra brukere ikke er i stand til å håndtere 10000+ tilkoblinger om gangen.

  1. Eierne av nettstedene med mye trafikk kan støte på ytelsesproblemer fordi Apache bruker en trådbasert struktur. Nginx definerer c10k-problemet som sannsynligvis er et av de mest heldige.
  2. Nginx inneholder hendelsesdrevet arkitektur. Den bygger ikke en nyere prosess for alle forespørslene. I stedet for å administrere alle innkommende forespørsler i en individuell tråd. Denne prosessen håndterer ulike arbeidsprosesser som implementerer forespørselens faktiske behandling. Nginx sin hendelsesbaserte modell deler brukerforespørsler mellom arbeiderteknikker på en enkel og effektiv måte, og gir derfor bedre skalerbarhet.
  3. Nginx kan være et bedre valg fordi det kan administrere nettsteder med høy trafikk ved å bruke minimumsressurser. Mer spesifikt kan den brukes av flere høysynte nettsteder som Airbnb, Pinterest, Hulu og Netflix.
  4. Apache gir imidlertid mange fordeler på Nginx fordi den har en enkel konfigurasjon, et nybegynnervennlig miljø og ulike moduler for mellomstore eller små spillere.

Apache mot Tomcat

Hva er Apache

Tomcat cab defineres som en webserver, og den er forbedret av Apache Software Foundation. Derfor er Apache Tomcat det offisielle navnet. Tomcat er også en HTTP-server. Det forbedrer imidlertid Java-applikasjoner i stedet for statiske nettsteder. Denne webserveren kan kjøre mange forskjellige Java-applikasjoner som WebSocket, Java EL, JSP (JavaServer-sider), og Java Servlet .

  1. Nærmere bestemt ble Tomcat laget for Java-applikasjoner, mens Apache er opprettet som en HTTP-server. Vi kan bruke Apache med distinkte programmeringsspråk (Perl, Python, PHP, etc.) med støtte fra den riktige Apache-modulen (mod_perl, mod_python, mod_php, etc.).
  2. Selv om vi kan bruke en Tomcat-nettserver for visning av nettsider (statisk), er den mindre effektiv for dette formålet sammenlignet med Apache-serveren. Tomcat kan forhåndslaste Java VM og andre Java-biblioteker som vi ikke trenger på de fleste nettstedene.
  3. Dessuten er Tomcat mindre konfigurerbar sammenlignet med andre typer webservere. Det beste alternativet er en HTTP-server som NGINX eller Apache for å kjøre WordPress.

Fordeler og ulemper med Apache

Apache kan være et utmerket alternativ for å utføre nettstedet vårt på en allsidig og stabil plattform. Selv om det kommer med noen få ulemper vi må forstå.

Fordeler:

  1. Stabil og pålitelig programvare.
  2. Gratis og åpen kildekode, selv for økonomisk bruk.
  3. Vanlige sikkerhetsoppdateringer, ofte oppdatert.
  4. Nybegynnervennlig, enkel å konfigurere.
  5. Fleksibel på grunn av den modulbaserte strukturen.
  6. Fungerer ut av en boks med WordPress-nettstedene.
  7. Cross-platform (implementeres på Windows-servere og Unix).
  8. Lett tilgjengelig støtte og stort fellesskap i tilfelle ethvert problem.

Ulemper:

  1. Ulike ytelsesproblemer på nettsteder med ekstremt mye trafikk.
  2. Flere alternativer for konfigurasjon kan forårsake sikkerhetsfølsomhet.

Versjoner av Apache

Versjon 1.1

Denne versjonen av Apache ble autorisert i 2000 av ASF. Hovedendringen er innenfor 'annonseringsklausulen' fra lisens 1.0. 'Reklameklausul' avledet produkt er ikke lenger nødvendig for å inkludere aspekter av reklamemateriellet (kun i dokumentasjonen).

sql konkat

Versjon 2.0

Versjon 2.0 av Apache ble adoptert av ASF i januar 2004. Dens uttalte mål inkluderte å lage lisensen lett for noen ikke-ASF-prosjekter å søke. Det kan forbedre kompatibiliteten med den GPL-baserte programvaren. Den lar lisensen legges til ved referanse i stedet for oppført i alle filene. Det tydeliggjør også lisensen over bidrag. Den trenger enhver patentlisens fremfor bidrag som nødvendigvis krenker bidragets patenter.

Sikkerheten til Apache

Som andre webservere kan Apache utnyttes og hackes. Det viktigste angrepsverktøyet til Apache er Slowloris. Slowloris kan utnytte feilene i Apache-programvaren. Den kan bygge flere sockets og holder alle disse sockets i live og sender forskjellige byte (kalt 'keep-alive headers') for å informere serveren om at systemet er tilkoblet og ikke har noen nettverksproblemer.

Mange utviklere av Apache har definert Slowloris med flere moduler for å begrense skaden. Ulike moduler av Apache som f.eks mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, og mod_limitipconn har hver blitt foreslått for å redusere muligheten for et vellykket angrep av Slowloris. Apache sender mod_reqtimeout-modulen som executive-løsningen som er fremmet av utviklerne siden Apache 2.2.15.

Utvikling av Apache

Apache HTTP Server-versjoner

Siste utgivelse Første utgivelse Versjon
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-prosjektet er et kollektivt programvareforbedringsarbeid som tar sikte på å lage en kommersiell-grade, robust, fritt tilgjengelig, funksjonsrik kildekode HTTP Server-implementering. I fellesskap har prosjektet blitt håndtert av et team av frivillige plassert rundt omkring. Det kan gjøres ved å bruke Internett og Internett til å utvikle, kommunisere og planlegge hvilken som helst server og tilhørende dokumentasjon.

Prosjektet er en faktor i Apache Software Foundation. Mange brukere har delt sin kode, dokumentasjon og ideer til prosjektet.
Apache 2.4-versjonen gir støtte for Tandem-, NeXT-, UX/A-, TPF- og BeOS-plattformer.