Advertentie

Het internet is geweldig, ik denk dat we het daar allemaal over eens zijn. Maar heb je er ooit bij stilgestaan ​​en nagedacht hoe in hemelsnaam een ​​website zijn weg naar je computer vindt? Welke technologieën zitten er bijvoorbeeld achter MakeUseOf? Het is veel meer dan alleen een simpele verzameling HTML-bestanden en afbeeldingen.

Lees verder om erachter te komen wat er precies komt kijken bij het runnen, hosten en serveren van een website voor uw consumptie, beste lezers.

Hardware

Laten we beginnen bij het meest elementaire onderdeel van het hosten van een website: de hardware. In wezen verschillen machines die worden gebruikt om een ​​website te hosten echt niet van de desktop-pc's die u of ik thuis hebt. Ze hebben meer geheugen, back-upschijven en vaak glasvezelnetwerkverbindingen, maar in wezen zijn ze hetzelfde. In feite kan elke oude machine een website hosten - het is slechts een kwestie van hoe snel het pagina's naar gebruikers kan sturen.

U kunt hier meer lezen over de

verschillende soorten hosting De verschillende vormen van website-hosting uitgelegd [Technologie uitgelegd] Lees verder beschikbaar, van een enkele machine die wordt gedeeld door duizenden websites die elk $ 5 / maand betalen, tot een volledige dedicated server die zoiets als MakeUseOf kan draaien - wat duizenden dollars per maand kost.

technologieën voor website-ontwikkeling

Besturingssysteem

De meeste webservermachines hebben een geoptimaliseerde versie van Linux, hoewel er een groot aantal servers beschikbaar is er draait Windows, meestal in bedrijfsomgevingen waar webapplicaties zijn gebouwd op ASP of punt net. Met ingang van januari van dit jaar is de meest populaire Linux-distro voor webhosting Debian, op de voet gevolgd door CentOS (gebaseerd op RedHat), beide gratis beschikbaar om te downloaden en zelf uit te proberen - en elk zei ongeveer 30% van alle websites te hosten. Google heeft natuurlijk zijn eigen aangepaste Linux, evenals een eigen aangepast bestandssysteem.

Webserver-software

Dit is waar dingen echt beginnen te differentiëren. De webserver-software is de applicatie die inkomende verzoeken ontvangt en de pagina's of bestanden bedient. De webserversoftware zelf maakt zich grotendeels geen zorgen over de taal van de webpagina die wordt weergegeven - een Apache-server is redelijk geschikt voor Python, PHP, Ruby of een aantal verschillende talen; maar dit is niet universeel. Het huidige marktaandeel geeft aan dat Apache ongeveer 65% van de topwebsites, Microsoft IIS 15% en nginx 10% beheert. nginx wordt beschouwd als beter in het omgaan met sites met hoge gelijktijdigheid - dat wil zeggen, waar vele duizenden gebruikers zich op een bepaald moment op de site kunnen bevinden - en wordt in feite hier bij MakeUseOf gebruikt.

technologieën voor website

Wanneer u een website laadt, opent u een socket - een verbinding - tussen uw computer en de websiteserver. Een uitgebreide en lange dans op het HTTP-nummer begint dan met het heen en weer gaan van verzoeken, gegevens en statuscodes. Toen u deze pagina opvroeg, reageerde onze server met een 200 - OK, betekenis "Zeker, hier ga je"; als je het eerder hebt bezocht, kan je browser het ook vragen "Hey, ik heb al een kopie van deze afbeelding in mijn browsercache, heb ik hem echt weer nodig?", waarop onze server reageerde 304 - Niet gewijzigd, of "Nee, dat is cool, we hebben het niet veranderd of wat dan ook, gebruik die gewoon".

Af en toe vind je de gevreesde 404 Niet Gevonden, maar ik hoef u die foutcode niet uit te leggen. Als je je ooit hebt opengesteld Firebug Amateurgids voor het aanpassen van websiteontwerp met FireBug Lees verder of de ontwikkelaarsmodus van uw browser, u zult versteld staan ​​hoeveel heen en weer er gebeurt - het is niet eenvoudig "Geef me die pagina" - "OK, hier", maar eigenlijk honderden kleinere interacties.

technologieën voor website

Statische bestanden en netwerken voor inhoudslevering

Op alle websites zijn er enkele bestanden die bijna nooit veranderen. Dingen zoals Javascripts, CSS, afbeeldingen, PDF's of mp3's. Deze worden genoemd statische bestanden, en om u deze te kunnen aanbieden, hoeft de webserver-software het bestand gewoon te pakken en te verzenden. Makkelijk toch? Niet zo snel.

Helaas is het verzenden van grote aantallen statische bestanden een behoorlijk omslachtige taak vanwege de grootte van de bestanden. Als je ooit een webpagina hebt bezocht waar je echt kunt zitten kijken hoe de afbeeldingen worden geladen, komt dat omdat de webserver haalt die bestanden zelf voor je op - ze zijn gewoon niet geoptimaliseerd om dat te doen werk. In plaats daarvan laden grote websites al deze statische bestanden naar een zogenaamde a Content Delivery Network - afzonderlijke servers die zijn geoptimaliseerd om in een oogwenk statische bestanden belachelijk snel weer te geven.

Ze bereiken dit ook door servers fysiek te lokaliseren op verschillende locaties over de hele wereld die elkaar spiegelen, zodat de gegevens minder ver weg zijn om naar u te reizen. Op dit moment, hoewel het MakeUseOf-artikel dat je aan het lezen bent, daadwerkelijk in de Verenigde Staten wordt gehost, komen de afbeeldingen en Javascript allemaal ergens dichter bij je via een lokale CDN.

Dynamische inhoud - Webprogrammeertalen

Bijna alle moderne websites hebben dynamische inhoud van een soort, of dat nu betekent dat WordPress opmerkingen toevoegt aan een blogpost, of Google zoekresultaten weergeeft. Om een ​​webpagina dynamisch te maken, zijn webprogrammeertalen nodig. Ik schreef eerder over de verschillende talen tot uw beschikking Welke programmeertaal om te leren - WebprogrammeringVandaag gaan we kijken naar de verschillende webprogrammeertalen die het internet van stroom voorzien. Dit is het vierde deel van een programmeerserie voor beginners. In deel 1 leerden we de basis van ... Lees verder (en kreeg een aantal heftige debatten omdat hij suggereerde dat PHP de beste was). Welke taal u ook kiest, het werkt samen met de webserver-softwarelaag om eerst de pagina-inhoud dynamisch te genereren en vervolgens aan u te serveren.

Databases

Achter alle dynamische websites staan ​​databases - enorme winkels voor onbewerkte gegevens waarmee we op verschillende manieren toegang hebben tot die gegevens. Hiervoor is een aparte database-programmeertaal vereist, de meest populaire SQL (Structured Query Language) en het zijn vele varianten. Databases bevatten verschillende tabellen met gegevens om verschillende gegevensstructuren weer te geven - een daarvan kan een lijst met artikelen zijn; een ander voor opmerkingen over die artikelen. Met SQL kunnen we die gegevens op verschillende manieren sorteren, combineren en presenteren.

In WordPress bestaat een ‘post’ bijvoorbeeld uit ten minste een titel en een datum, en waarschijnlijk een deel van de daadwerkelijke inhoud. Een aparte tabel wordt gebruikt om de opmerkingen over dat artikel op te slaan, met nog een andere tabel om een ​​lijst met categorieën op te slaan, en dan nog een ander om een ​​lijst op te slaan van welke categorieën aan welk artikel zijn toegewezen. Door naar al deze gegevens te verwijzen en ze te verzamelen, verzamelt WordPress alle informatie die het nodig heeft voor een bepaalde pagina van uw blog, voordat u het thema toepast en aan u presenteert, via de webserver software.

technologieën voor website-ontwikkeling

Caching-systemen

Het aanbieden van statische HTML-bestanden is vrij eenvoudig in termen van berekening - de server hoeft alleen het bestand op te halen - dynamische inhoud Anderzijds vergt het veel werk om de pagina samen te stellen, met de database en de verwerking die daarop plaatsvindt gegevens. Een caching-systeem brengt ons volledig rond door deze dynamische pagina's te maken en ze vervolgens op te slaan als statische HTML-bestanden. Wanneer exact dezelfde pagina opnieuw wordt opgevraagd, hoeft deze niet opnieuw te worden berekend, waardoor de site sneller wordt.

Caching is een brede term die echter veel dingen kan betekenen - CDN's zijn een soort cache; er zijn ook databasecaches voor veelgestelde vragen (denk aan WordPress waar de database om vraagt de titel van je blog elke keer dat iemand naar je post kijkt, want dat is eigenlijk wat gebeurt). Ik heb eerder geschreven over het opzetten van de populaire W3 Total Cache-systeem voor WordPress Hoe de verschillende W3 Total Cache Plugin-instellingen voor uw Wordpress-blog te configurerenEen tijdje geleden sprak ik over de voordelen van het installeren van de W3TC-plug-in op je Wordpress-blog om het te versnellen met verschillende caching, maar sommige lezers waren begrijpelijkerwijs een beetje op hun hoede voor ... Lees verder , ook hier gebruikt bij MakeUseOf. Jouw browser heeft ook een cache Alles wat u moet weten over de browsercache [MakeUseOf Explains]Wanneer u een probleem heeft met een website, is een van de eerste suggesties die u van IT-ondersteuning zult horen, "probeer uw browsercache te wissen" samen met "en verwijder uw cookies". Dus wat is... Lees verder - vrijwel alles kan in de cache worden opgeslagen.

Zoals u kunt zien, is er in feite een enorme hoeveelheid werk en veel technologieën betrokken bij het hosten van een website. Dat wil echter niet zeggen dat u er zelf geen kunt hebben blog opgezet en uitgevoerd in minder dan een uur Stel uw blog in met WordPress: de ultieme gidsWil je je eigen blog starten, maar weet je niet hoe? Kijk naar WordPress, het krachtigste blogplatform dat vandaag beschikbaar is. Lees verder . Het schalen naar vele duizenden gebruikers is waar de problemen beginnen.

Nog vragen? Vraag weg en ik zal mijn best doen om te antwoorden. Ben je verrast door hoeveel moeite een website kan kosten?

James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt pc's sinds zijn kindertijd.