-
Het internet: HTTP en HTML
-
Ik heet Jasmine en ik ben programmamanager
van het XBOX One engineringteam.
-
Een van onze grootste voorzieningen heet
XBOX Live. Het is een online dienst die
-
gamers wereldwijd verbindt, en wij
vertrouwen op het internet dat dat lukt.
-
Dit is geen gemakkelijke taak en er
gebeurd veel achter de schermen.
-
Het internet verandert compleet de manier
waarop mensen communiceren. Maar hoe
-
werkt het? Hoe communiceren computers
wereldwijd in feite met elkaar? Laten we
-
het surfen onder de loep nemen. Eerst open
je een browser. Het is de app die je gebruikt
-
om pagina's te bezoeken. Daarna typ je het adres
of URL in, dat staat voor Uniform Resource Locator,
-
van de website die je wilt bezoeken, zoals tumblr.com.
Hallo, ik het David Karp, ik ben de oprichter van Tubmblr,
-
en hier leggen we uit hoe die browser die we elke dag gebruiken
eigenlijk werken. Je hebt je waarschijnlijk wel
-
eens afgevraagd wat er gebeurd als je een
adres in je browser invoert en daarna
-
op enter drukt. Het is net zo gek als je
je kunt voorstellen. Op dat moment begint
-
je computer met een andere te praten, een
server, die meestal duizenden kilometers
-
ver weg staat. En in milliseconden vraagt je
computer aan de server om een website, en
-
die server begint te praten met je computer
in een taal die HTTP heet, HTTP staat voor
-
Hyper Text Transfer Protocol. Je kunt zien
de taal die de ene computer gebruikt om
-
aan de andere computer naar een document
te vragen. Het is eigenlijk heel eenvoudig.
-
Als je een conversatie tussen je computer
en een server op het internet zou
-
onderscheppen, dan zie je dat het voornamelijk
bestaat uit "GET"-verzoeken. Die bestaan
-
eenvoudig uit het woord GET en de naam van
het document dat je verzoekt. Dus als je
-
probeert in te loggen in Tumblr en je ons
inlogscherm laat, dan is het enige dat je
-
doet een GET-verzoek sturen naar de server
van Tumblr dat zegt Get /login. En dat
-
zegt de server van Tumblr dat je alle HTML-
code wilt voor het inlogscherm van Tumblr.
-
HTML staat voor Hyper Text Markup Language,
en dat kun je zien als de taal die jij gebruikt
-
om een browser te vertelen hoe een pagina
eruit moet zien. Als je denkt aan bijvoorbeeld
-
Wikipedia, niets anders dan een groot eenvoudig
document, dan HTML de taal die je gebruikt om
-
det titel groot en vet te maken, het juiste lettertype
in te stellen, en te linken naar bepaalde andere pagina's,
-
tekst vet of cursief te maken, een afbeelding in het
midden van de pagina te plaatsen, en de pagina
-
rechts of links uit te lijnen. De tekst van een pagina
wordt altijd direct meegenomen in de HTML,
-
maar andere delen zoals afbeeldingen of video's
zijn aparte bestanden met hun eigen URLs waarom
-
verzocht moet worden. De browser stuur aparte
HTML-verzoeken naar elk van deze en toont hen
-
zodra ze binnenkomen. Als een webpagina veel
verschillende afbeeldingen heeft, dan heeft
-
elk van hen een apart HTTP-verzoek en laadt
de pagina langzamer. Soms als je surft op het web
-
verzoek je niet alleen om pagina's met GET-verzoeken.
Soms stuur je informatie als je bijvoorbeeld
-
een formulier invult of een zoekopdracht geeft.
Je browser stuurt deze informatie in platte tekst
-
naar de server door middel van een HTTP POST-verzoek.
Laten we aannemen dat je inlogt op Tumblr.
-
Het eerste dat je doet is POST-verzoek maken,
dat is een POST naar het inlogscherm van Tumblr
-
waaraan wat data is gekoppeld. Het heeft je e-mailadres,
en je wachtwoord. Dat gaat naar de
-
server van Tumblr. Deze server ontdekt dat jij
David bent. Het stuurt een pagina terug naar
-
Je browser en die zegt, Gelukt! Ingelogd
als David. Maar naast die website
-
voegt het ook wat ontzichtbare cookiedata
toe die je browser ziet en weet op te slaan.
-
Dat is echt belangrijk omdat het de enige
manier is dat een website kan onthouden
-
wie je bent. Die cookiedata is niets anders
dan een ID-kaart voor Tumblr. Het is een
-
nummer dat jouw als David identificeert.
Je browser onthoudt dat nummer en de
-
volgende keer dat Tumblr ververst, de
volgende keer dat je naar Tumblr.com gaat
-
zal je browser automatisch dat ID-nummer toevoegen
bij het verzoek dat het naar de servers van Tumblr stuurt.
-
Nu zien de server van Tumblr dat het verzoek van jouw
browser komt, zien het ID-nummer en weten
-
"OK, dit is een verzoek van David."
Het internet is helemaal open. Alle verbindingen
-
worden gedeeld en de informatie wordt in
platte tekst verzonden. Dit stelt hackers
-
in staat om te snuffelen naar persoonlijke
informatie die jij over het internet verstuurd.
-
Maar veilige websites verhinderen dit,
door aan je browser te vragen te communiceren
-
via een veilig kanaal met behup van Secure Sockets Layer,
en de opvolger daarvan Transport Layer Security.
-
Zie SSL en TLS als een beschermingslaag om je
communicatie om deze te beschermen
-
tegen rondsnuffelen of knoeien. SSL en TLS
zijn actief als je het kleine slotje in de
-
adresbalk van je browser, naast de HTTPS.
De HTTPS-protocollen garanderen
-
dat jouw HTTP-verzoeken veilig en beschermd zijn.
als een website aan je browser vraagt
-
mee te doen in een beveiligde verbinding,
geeft het eerst een digitaal certificaat.
-
Dat is een soort officiële ID-kaart welke bewijst
dat de website is die het claimt te zijn. Digitale
-
certificaten worden gepubliceerd door bevoegde
instanties die vertrouwde entiteiten zijn die
-
de identiteit van websites verifiëren, en certificaten
voor hen uitgeven. Net als een overheid IDs of
-
passpoorten kan verstrekken. Als een website
probeert een veilige verbinding te openen zonder
-
de juiste verstrekte digitale certificaten, dan zal je
browser je waarschuwen. Dat is de basis van
-
surfen op het web! Het deel van het internet
dat we dagelijks zien. Samenvattend, HTTP en DNS
-
regelen het verzenden en ontvangen van HTML,
mediabestanden of alles op het web. Wat dit
-
mogelijk maakt onder de motorkap zijn TCP/IP en router-
netwerken die informatie afbreken en transporteren in
-
pakketjes. Deze pakketjes zelf bestaan uit binaire codes,
reeksen uit enen en nullen die
-
fysiek door elektrische kabels, glasvezel en
draadloze netwerken worden verzonden.
-
Gelukkig geldt, dat zodra je hebt geleerd
hoe een laag van het internet werkt, je erop
-
kunt vertrouwen zonder alle details te
hoeven onthouden. En we kunnen erop vertrouwen
-
dat al die lagen zullen samenwerken om informatie op schaal
en betrouwbaar aan te leveren.