De ulike teknologiene som går inn i et nettsted
Internett er fantastisk, jeg tror vi kan alle være enige om det. Men har du noen gang satt deg ned og tenkt hvordan på jorden en nettside faktisk gjør veien til datamaskinen din? Hvilke teknologier er 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 i å løpe, hosting, og servere et nettsted for ditt forbruk, kjære lesere.
maskinvare
La oss starte med den mest grunnleggende komponenten av hosting et nettsted - maskinvaren. I hovedsak er maskiner som brukes til å være vert for et nettsted, egentlig ikke annerledes enn de stasjonære PC-ene du eller jeg har hjemme. De har mer minne, backup-stasjoner og ofte fiberoptiske nettverksforbindelser - men i utgangspunktet er de de samme. Faktisk kan enhver gammel maskin være vert for et nettsted - det er bare et tilfelle hvor raskt det vil kunne sende sider ut til brukerne.
Du kan lese mer her om de ulike typer hosting. De ulike skjemaene for webvertvert forklart. [Teknologi forklart] De ulike skjemaene for webvertvert forklart. [Teknologi forklart] Les mer tilgjengelig, fra en enkelt maskin delt mellom tusenvis av nettsteder som betaler $ 5 / måned, til en full dedikert server i stand til å kjøre noe som MakeUseOf - som koster tusenvis av dollar i måneden.
Operativsystem
De fleste webservermaskiner kjører en optimalisert smak av Linux - selv om det er et stort antall servere der ute som kjører Windows, generelt i bedriftsmiljøer der webapplikasjoner er bygget på ASP eller dotNet. Fra januar i år er den mest populære Linux distro av valg for webhosting Debian, etterfulgt av CentOS (basert på RedHat), både fritt tilgjengelig for deg å laste ned og prøve deg selv - og hver sa å være vert for omtrent 30% av alle nettsteder. Google kjører sin egen tilpassede Linux selvfølgelig, så vel som sitt eget tilpassede filsystem.
Webserverprogramvare
Det er her ting begynner å skille seg. Webserverprogramvaren er programmet som mottar innkommende forespørsler, og serverer sidene eller filene. Webserverprogramvaren i seg selv er i stor grad ubekjent med språket på nettsiden den serverer - en Apache-server kan ganske enkelt betjene 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 å være bedre til å håndtere nettsteder med høy samtidighet - det vil si hvor mange tusen brukere som helst kan være på nettstedet til enhver tid - og brukes faktisk her på MakeUseOf.
Når du laster opp et nettsted, åpner du en stikkontakt - en forbindelse - mellom datamaskinen og nettserveren. En forsiktig og lang dans til HTTP-melodien begynner deretter med frem og tilbake av forespørsler, data og statuskoder. Som du ba om denne siden, svarte vår server med en 200 - OK, betydning “sikkert, her går du”; Hvis du besøkte før, kan nettleseren din også spørre “hei, jeg har en kopi av denne grafikken allerede i nettleserens cache, trenger jeg virkelig det igjen?”, som vår server reagerte på 304 - Ikke endret, eller “nei, det er kult, vi har ikke forandret det eller noe, bare bruk den”.
Av og til finner du den fryktede 404 ikke funnet, men jeg trenger ikke å forklare den feilkoden til deg. Hvis du noen gang har åpnet Firebug Amatørs Guide til å tilpasse Website Design med FireBug Amatør Guide til å tilpasse Website Design med FireBug Les mer eller utviklermodus av nettleseren din, vil du bli overrasket over å se hvor mye frem og tilbake går - det er ikke enkelt “gi meg den siden” - “OK, her”, men faktisk hundrevis av mindre interaksjoner.
Statiske filer og innholdsleveringsnett
På alle nettsteder er det noen filer som nesten aldri endres. Ting som Javascripts, CSS, bilder, PDF-filer eller mp3-filer. Disse kalles statiske filer, og for å betjene disse til deg, må webserverprogramvaren bare ta tak i filen og sende den. Enkelt, ikke sant? Ikke så fort.
Dessverre sender ut stort antall statiske filer en ganske mektig oppgave på grunn av filstørrelsen. Hvis du noen gang har besøkt en nettside der du faktisk kan sitte der og se på bildene lastes, er det fordi webserveren henter disse filene for deg selv - de er ganske enkelt ikke optimalisert for å gjøre det slags arbeid. I stedet lagrer store nettsteder alle disse statiske filene på det som kalles a Innholdsleveringsnettverk - separate servere som er optimalisert for å betjene statiske filer latterlig raskt i blink av et øye.
De oppnår også dette ved å fysisk lokalisere servere på forskjellige steder rundt om i verden som speiler hverandre, slik at dataene har mindre avstand til å reise til deg. Akkurat nå, selv om MakeUseOf-artikkelen du leser, faktisk er vert i USA, kommer bildene og JavaScript alt fra et sted mye nærmere deg via en lokal CDN.
Dynamisk innhold - Webprogrammeringsspråk
Nesten alle moderne nettsteder har dynamisk innhold av noe slag, om det betyr at WordPress legger til kommentarer til et blogginnlegg, eller at Google serverer søkeresultatene. For å gjøre en nettside dynamisk, er det behov for webprogrammeringsspråk. Jeg skrev før om de forskjellige språkene som er tilgjengelige for deg. Hvilket programmeringsspråk å lære - Webprogrammering Hvilket programmeringspråk som skal læres - Webprogrammering I dag skal vi se på de forskjellige webprogrammeringsspråkene som driver Internett. Dette er den fjerde delen i en nybegynnere programmeringsserie. I del 1 lærte vi grunnleggende av ... Les mer (og kom inn i noen oppvarmede debatter for å foreslå PHP var det beste). Uansett hvilket språk du velger, fungerer det sammen med webserverprogramvarelaget for å først generere innholdet på siden dynamisk, og deretter servere det opp til deg.
databaser
Bak alle dynamiske nettsteder er databaser - massive lagre for rå data som gir oss tilgang til dataene på en rekke måter. For dette er det nødvendig med et eget databaseprogrammeringsspråk, den mest populære er SQL (Structured Query Language), og det er mange varianter. Databaser inneholder forskjellige datatabeller som representerer ulike datastrukturer - en kan være en liste over artikler; en annen for kommentarer til disse artiklene. Ved hjelp av SQL kan vi sortere, kombinere og presentere dataene på en rekke måter.
I WordPress består for eksempel et "innlegg" av minst en tittel og en dato, og sannsynligvis noe aktuelt innhold. Et eget bord brukes til å lagre kommentarene på den artikkelen, med en annen tabell for å lagre en liste over kategorier, og deretter enda en for å lagre en liste over hvilke kategorier som er tildelt hvilken artikkel. Ved å krysreferanse 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 webserverprogramvaren.
Caching Systems
Servering av statiske HTML-filer er ganske enkelt når det gjelder beregning - serveren trenger bare å hente filen - dynamisk innhold derimot krever mye arbeid for å sette siden sammen, med databasen og behandlingen som oppstår på dataene . Et caching system gir oss full sirkel, ved å lage disse dynamiske sidene, og deretter lagre dem i utgangspunktet som statiske HTML-filer. Når nøyaktig samme side blir bedt om igjen, trenger den ikke å bli beregnet på nytt, og dermed øke hastigheten på nettstedet.
Caching er et bredt begrep som kan bety mange ting selv - CDN er en type cache; Det finnes også database caches for vanlige spørsmål (tenk på WordPress og spør databasen for tittelen på bloggen din hver gang en person ser på innlegget ditt - for det er faktisk hva som skjer). Jeg skrev før om hvordan du konfigurerer det populære W3 Total Cache-systemet for WordPress Slik konfigurerer du de forskjellige W3 Total Cache Plugin-innstillingene for Wordpress Blog Slik konfigurerer du de forskjellige W3 Total Cache Plugin-innstillingene for Wordpress Blog For en stund siden snakket jeg om fordelene med å installere W3TC-pluginet på Wordpress-bloggen din for å øke hastigheten med ulike caching, men noen lesere var forståelig nok litt skeptiske til ... Les mer, også brukt her på MakeUseOf. Nettleseren din har også en cache Alt du trenger å vite om nettleserens cache [MakeUseOf Forklarer] Alt du trenger å vite om nettleserens cache [MakeUseOf Forklarer] Når du har et problem med et nettsted, vil et av de første forslagene du hører fra IT-støtte er "forsøk å tømme nettleserens cache" sammen med "og slette informasjonskapslene dine". Så hva er ... Les mer - stort sett alt kan bli cached.
Så som du kan se, er det faktisk en enorm mengde arbeid og mange teknologier involvert med hosting av et nettsted. Men det er ikke å si at du ikke kan få din egen blogg satt opp og går på mindre enn en time. Skalering til mange tusen brukere er der problemene starter.
Noen spørsmål? Spør deg, og jeg vil gjøre mitt beste for å svare. Er du overrasket over hvor mye innsats kan gå inn på et nettsted?
Utforsk mer om: Webdesign, webutvikling.