In deze les leer je de basis van de werking van het internet.
Op deze pagina zie je hoe websites je de bestanden sturen die je opvraagt en leer je een aantal termen die worden gebruikt wanneer je over het internet praat.
Mensen gebruiken de termen internet en world wide web (het web) door elkaar, maar het zijn verschillende dingen. Het internet is een netwerk van onafhankelijke apparaten die met elkaar verbonden zijn, verspreid over de hele wereld. Het web is de verzameling van onderling gelinkte documenten en programma's (zoals HTML-bestanden en web-apps), die je bekijkt met een webbrowser na het invoeren van een webadres (een url). Bijvoorbeeld http://bjc.berkeley.edu/website/privacy.html of https://bjoc.nl/bjoc_uitleg.html.
De meeste webpagina's zijn geschreven in HTML (Hypertext Markup Language). Via het HTTP-protocol (Hypertext Transfer Protocol) vraagt je browser die pagina's op bij een webserver.
Een URL of Uniform Resource Locator is het adres om specifieke webgegevens te vinden op
een webserver. Een server is een computer die data bewaart om anderen toegang tot deze data
te bieden. Een URL kun je splitsen in drie delen:
Het internet is dus veel breder dan het world wide web. Het bevat ook e-mail, bestandsoverdracht, mobiele apps, chat-programma's (zoals WhatsApp) en veel andere manieren om computers en apparaten (Internet of Things ) met elkaar te laten communiceren.
Het internet is een gigantisch netwerk van computers dat communicatie over de gehele wereld verzorgt. Het doet dit met behulp van een aantal protocollen (standaarden voor communicatie), waar je meer over leert in les 2 van dit hoofdstuk.
Een protocol is een verzameling afspraken om communicatie goed te laten verlopen.
Een pakket is een kleine hoeveelheid data: tekst, getallen, lijsten, enz. Inclusief metadata, zoals het adres van de bestemming en van de afzender.
Het algoritme dat ervoor zorgt dat alle internetdata correct aankomt, moet blijven werken zolang het internet groeit. Dus is het internet ontworpen met de volgende twee ideeën in gedachte:
We beginnen met een paar nieuwe begrippen:
Bandbreedte en latentie definiëren samen de snelheid van communicatie. Denk aan een harde schrijf in een computer. Om informatie van of naar de schijf te sturen, moet de computer de magnetische kop naar de plek op de schijf brengen waar de informatie zich bevindt en wachten tot de schijf naar de juiste positie is gedraaid. Dit hele proces gaat snel, maar kost toch tijd. Die vertraging noemen we de latentie. Maar zodra de kop op de goeie plek staat, is de bandbreedte van de schijf erg groot.
De snelheid (bandbreedte en latentie) van een systeem zoals het internet, is van invloed op hoe we het systeem gebruiken. In de begindagen van het internet was de bandbreedte laag. Mensen konden dus geen video's versturen, alleen tekst en kleine plaatjes. Nu kan dat wel, de bandbreedte is hoog. Voor het versturen van video zijn er een paar mogelijkheden. De eerste mogelijkheid is om een video in z'n geheel te downloaden en daarna af te spelen. De tweede mogelijkheid is het streamen van video. Dit is een elegantere oplossing, waarbij de video in afzonderlijke stukjes wordt verzonden. Het eerste stukje wordt meteen na ontvangst afgespeeld, terwijl de volgende stukjes ondertussen worden verzonden en door de ontvanger worden gebufferd totdat ze aan de beurt zijn om te worden afgespeeld. Zo kan je een video bekijken zonder dat je hoeft te wachten tot de hele video verstuurd is. Videostreamen vereist een hoge bandbreedte.
De fysieke omvang van een systeem heeft ook invloed op hoe het wordt gebruikt. Aanvankelijk waren computers groot en duur, dus gingen mensen naar het computercentrum van hun plaatselijke universiteit om hun berekeningen uit te voeren. Naarmate computers kleiner en efficiënter werden, werden gecentraliseerde computercentra veel minder belangrijk, omdat mensen berekeningen konden uitvoeren op hun persoonlijke apparaten. Maar tegenwoordig vereisen bepaalde soorten berekeningen, zoals voor kunstmatige intelligentie, meer rekenkracht dan ooit. Deze taken worden in grote datacenters uitgevoerd, waar duizenden computers samen aan een probleem werken in opdracht van bedrijven zoals Google en Microsoft. Je hebt nog steeds een computer op je bureau, op schoot of in je hand, maar veel van jouw programma's draaien eigenlijk op de computers in een van deze datacenters.
Deze datacenters samen worden vaak de cloud genoemd. Je gebruikt de cloud al dit hele vak: al je Snap! projecten staan in de cloud.
Data opslaan in de cloud betekent dat het ergens opgeslagen moet zijn op internet, ook al weet je niet precies waar. De cloud service provider, zoals Google Drive of Dropbox zorgen voor de echte opslaglocatie.
Het opslaan van data in de cloud biedt ons ook de mogelijkheid om documenten te delen en samen te werken. Maar het verhoogt wel
de veiligheidsrisico's. Als bijvoorbeeld iemand je wachtwoord achterhaalt, kan het gebruikt worden om toegang
te krijgen tot je gegevens. Of data kunnen worden onderschept terwijl ze heen en weer worden gestuurd naar de cloud.