Annonse

Internett er fantastisk, jeg tror vi alle kan være enige om det. Men har du noen gang satt deg og tenkt hvordan i all verden et nettsted faktisk gjør veien til datamaskinen din? Hvilke teknologier ligger bak MakeUseOf, for eksempel? Det er mye mer enn bare en enkel samling av HTML-filer og bilder.

Les videre for å finne ut nøyaktig hva som går ut på å drive, hosting og servere et nettsted for forbruket ditt, kjære lesere.

maskinvare

La oss begynne med den mest grunnleggende komponenten i hosting av et nettsted - maskinvaren. I hovedsak er maskiner som brukes til å være vert for et nettsted, egentlig ikke forskjellige fra de stasjonære PC-ene du eller jeg har hjemme. De har mer minne, backup-stasjoner og ofte fiberoptiske nettverkstilkoblinger - men i utgangspunktet er de de samme. Faktisk kan enhver gammel maskin være vert for et nettsted - det er bare et tilfelle av hvor raskt den vil kunne sende sider ut til brukerne.

Du kan lese mer her om forskjellige typer hosting De forskjellige formene for webhotell forklart [Technology Explained] Les mer

instagram viewer
tilgjengelig, fra en enkelt maskin som er delt mellom tusenvis av nettsteder som hver betaler $ 5 / måned, til en full dedikert server som er i stand til å kjøre noe som MakeUseOf - som koster tusenvis av dollar i måneden.

teknologier for utvikling av nettsteder

Operativsystem

De fleste webserver-maskiner har en optimalisert smak av Linux - selv om det er et godt antall servere ute der som kjører Windows, vanligvis i bedriftsmiljøer der webapplikasjoner er bygd på ASP eller dotNet. Fra januar i år er den mest populære Linux-distroen du ønsker for webhosting Debian, fulgt tett av CentOS (basert på RedHat), begge fritt tilgjengelig for deg å laste ned og prøve ut selv - og hver og en sa å være vert for omtrent 30% av alle nettsteder. Google kjører selvfølgelig sitt eget tilpassede Linux, så vel som sitt eget tilpassede filsystem.

Webserver programvare

Det er her ting virkelig begynner å differensiere. Webserver-programvaren er applikasjonen som mottar innkommende forespørsler, og serverer sidene eller filene. Webserver-programvaren er i stor grad ubekymret med språket på nettsiden den serverer - en Apache-server er ganske kapabel til å servere Python, PHP, Ruby eller et hvilket som helst antall forskjellige språk; men dette er ikke universelt. Nåværende markedsandel indikerer at Apache kjører rundt 65% av de beste nettstedene, Microsoft IIS 15% og nginx 10%. nginx anses for å være flinkere til å håndtere sider med høy samtidighet - det vil si der mange tusen brukere kan være på nettstedet når som helst - og brukes faktisk her på MakeUseOf.

teknologier for nettstedet

Når du laster opp et nettsted, åpner du en stikkontakt - en forbindelse - mellom datamaskinen og nettstedsserveren. En forseggjort og omstendelig dans til HTTP-melodien begynner deretter med frem og tilbake av forespørsler, data og statuskoder. Da du ba om denne siden, svarte serveren vår med en 200 - OK, mening “Sikker, her går du”; Hvis du besøkte før, kan nettleseren din også spørre "Hei, jeg har allerede fått en kopi av grafikken i nettleserbufferen min. Trenger jeg det igjen?", som serveren vår svarte på 304 - Ikke endret, eller "Nei, det er kult, vi har ikke endret det eller noe, bare bruk den".

Noen ganger vil du finne den fryktede 404 ikke funnet, men jeg trenger ikke forklare den feilkoden til deg. Hvis du noen gang har åpnet deg Firebug Amatørguide for å tilpasse design av nettsteder med FireBug Les mer eller utviklermodusen til nettleseren din, vil du bli overrasket over å se hvor mye frem og tilbake som skjer - det er ikke en enkel “Gi meg den siden” - “OK, her”, men faktisk hundrevis av mindre interaksjoner.

teknologier for nettstedet

Statiske filer og leveringsnettverk for innhold

På alle nettsteder er det noen filer som nesten aldri endres. Ting som Javascripts, CSS, bilder, PDF-er eller mp3-er. Disse kalles statiske filer, og for å tjene disse til deg, må webserverprogramvaren ganske enkelt ta tak i filen og sende den. Lett, ikke sant? Ikke så fort.

Dessverre er det ganske arbeidskrevende å sende ut et stort antall statiske filer på grunn av størrelsen på filene. Hvis du noen gang har besøkt en webside hvor du faktisk kan sitte der og se på bildene lastes inn, skyldes det webserveren henter disse filene for deg selv - de er rett og slett ikke optimalisert for å gjøre den typen arbeid. I stedet laster store nettsteder av alle disse statiske filene på det som kalles a Innholdsleveringsnettverk - separate servere som er optimalisert for å servere statiske filer latterlig raskt med et øyeblikk.

De oppnår dette også ved fysisk å finne servere på forskjellige steder i verden som speiler hverandre, slik at dataene har mindre langt avstand til å reise til deg. Akkurat nå, selv om MakeUseOf-artikkelen du leser faktisk er vert i USA, kommer bildene og Javascript alle fra et sted som er mye nærmere deg via en lokal CDN.

Dynamisk innhold - Språk for programmering av nett

Nesten alle moderne nettsteder har dynamisk innhold av noe slag, enten det betyr at WordPress legger til kommentarer til et blogginnlegg, eller at Google serverer søkeresultater. For å gjøre en webside dynamisk, er det nødvendig med programmering på nettet. Jeg skrev før om forskjellige språk tilgjengelig for deg Hvilket programmeringsspråk å lære - nettprogrammeringI dag skal vi se på de forskjellige nettprogrammeringsspråkene som driver Internett. Dette er den fjerde delen i en nybegynner programmeringsserie. I del 1 lærte vi det grunnleggende om ... Les mer (og fikk inn noen opphetede debatter for å antyde at PHP var det beste). Uansett hvilket språk du selv velger, fungerer det sammen med webserver-programvarelaget for først å generere sideinnholdet dynamisk, og deretter servere det opp til deg.

databaser

Bak alle dynamiske nettsteder ligger databaser - massive butikker for rå data som lar oss få tilgang til disse dataene på en rekke måter. For dette kreves et eget databases programmeringsspråk, det mest populære SQL (Structure Query Language), og det er mange varianter. Databaser inneholder forskjellige tabeller med data for å representere forskjellige datastrukturer - en kan være en liste over artikler; en annen for kommentarer til disse artiklene. Ved å bruke SQL kan vi sortere, kombinere og presentere disse dataene på en rekke måter.

I WordPress for eksempel består et ‘innlegg’ av minst en tittel og en dato, og sannsynligvis noe faktisk innhold. En egen tabell brukes til å lagre kommentarene til den artikkelen, med enda en tabell for å lagre en liste over kategorier, og deretter enda en å lagre en liste over hvilke kategorier som er tilordnet hvilken artikkel. Ved å krysse henvisning og trekke data fra alle disse, samler WordPress all den informasjonen den trenger for en bestemt side av bloggen din, før du bruker temaet og presenterer det for deg, via webserveren programvare.

teknologier for utvikling av nettsteder

Bufringssystemer

Det er ganske enkelt å beregne statiske HTML-filer når det gjelder beregning - serveren må bare hente filen - dynamisk innhold på den annen side krever mye arbeid for å sette siden sammen, med databasen og behandlingen som skjer på den data. Et cache-system bringer oss hele kretsen, ved å lage disse dynamiske sidene, og deretter lagre dem som statiske HTML-filer. Når nøyaktig samme side blir bedt om igjen, trenger den ikke å beregnes på nytt, og dermed øke hastigheten på nettstedet.

Cache er et bredt begrep som kan bety mange ting om - CDN-er er en type cache; det er også databuffere for ofte stilte spørsmål (tenk på WordPress som spør databasen etter tittelen på bloggen din hver gang noen ser på innlegget ditt - fordi det er faktisk det skjer). Jeg skrev før om hvordan jeg konfigurerer den populære W3 Total Cache-system for WordPress Slik konfigurerer du de forskjellige W3 Total Cache Plugin-innstillingene for Wordpress-bloggen dinFor en stund siden snakket jeg om fordelene ved å installere W3TC-plugin på Wordpress-bloggen din for å få det hurtigere med forskjellige cacher, men noen lesere var forståelig nok litt på vakt over ... Les mer , også brukt her på MakeUseOf. Din nettleseren har også en hurtigbuffer Alt du trenger å vite om nettleserbufferen [MakeUseOf Explains]Når du har problemer med et nettsted, er et av de første forslagene du vil høre fra IT-støtte "prøve å tømme nettleserbufferen din" sammen med "og slette informasjonskapslene dine". Så hva er ... Les mer - stort sett alt kan bufres.

Så som du kan se, det er faktisk en enorm mengde arbeid og mange teknologier involvert i å være vert for et nettsted. Det er imidlertid ikke å si at du ikke kan ha dine egne blogg konfigurert og kjørt på under en time Konfigurer bloggen din med WordPress: The Ultimate GuideVil du starte din egen blogg, men vet ikke hvordan? Se på WordPress, den kraftigste bloggplattformen som er tilgjengelig i dag. Les mer . Skalering til mange tusen brukere er der problemene starter.

Noen spørsmål? Spør bort, så gjør jeg mitt beste for å svare. Er du overrasket over hvor mye krefter som kan gå inn på et nettsted?

James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.