Inhoud leereenheid 15 Internet (1): enkele toepassingen Introductie

advertisement
Inhoud leereenheid 15
Internet (1): enkele toepassingen
Introductie
Leerkern
1
2
3
4
5
6
73
74
Inleiding 74
World wide web: een inleiding 74
2.1
Webpagina’s bekijken 74
2.2
Wat is het world wide web? 75
2.3
HTML 77
Enkele belangrijke begrippen 79
3.1
Client-server-model 79
3.2
Protocollen 81
3.3
De structuur van www-adressen 82
Het www nader bekeken 83
4.1
Een webpagina ophalen 83
4.2
HTTP nader bekeken 85
4.3
Toestandloosheid van HTTP en cookies 86
E-mail 87
5.1
Inleiding e-mail 87
5.2
E-mail nader bekeken 89
5.2.1 E-mail versturen en ontvangen 89
5.2.2 De communicatie tussen de mailservers 91
5.2.3 De communicatie tussen mailserver en user agent
5.3
Het format van e-mail 94
De applicatie DNS 96
Samenvatting
Zelftoets
98
99
Terugkoppeling
1
2
72
100
Uitwerking van de opgaven 100
Uitwerking van de zelftoets 101
93
Leereenheid 15
Internet (1): enkele toepassingen
INTRODUCTIE
U hebt ongetwijfeld wel eens informatie opgezocht op het world wide
web. Vermoedelijk verstuurt u en ontvangt u ook regelmatig e-mails.
Dat betekent dat u enige, of mogelijk zelfs veel, ervaring hebt met enkele
applicaties of toepassingen op internet. Het world wide web en e-mail
zijn twee opvallende en belangrijke applicaties, maar het zijn zeker niet
de enige. Mogelijk gebruikt u ook andere applicaties, zoals chatten,
videoconferencing en het uitwisselen van muziekbestanden.
De leereenheden 15 en 16 gaan nader in op internet en applicaties die
gebruikmaken van internet. In leereenheid 15 ligt de nadruk op de
applicaties world wide web en e-mail. We bekijken deze applicaties
nader en bespreken wat er globaal gebeurt als u een webpagina ‘ophaalt’
en als u e-mails verstuurt en ontvangt. Aan de hand daarvan voeren we
verschillende concepten in die centraal staan in dit vakgebied. Het meest
centrale concept dat aan de orde komt, is het protocol. Overal waar
sprake is van communicatie tussen twee computers, zijn er protocollen
nodig waarin de syntaxis en semantiek van die communicatie heel
precies is vastgelegd. In deze leereenheid gaan we nader in op diverse
protocollen. Een daarvan is u ongetwijfeld wel eens opgevallen: HTTP,
dat een rol speelt bij het ophalen van webpagina’s.
In leereenheid 16 gaan we vervolgens nader in op vragen als:
– Hoe gaat het transport van gegevens over internet precies in zijn werk?
– Hoe is internet opgebouwd?
LEERDOELEN
Na het bestuderen van deze leereenheid wordt verwacht dat u
– kunt uitleggen wat een webpagina is
– het principe van hypertekst kunt uitleggen
– kunt omschrijven wat het world wide web is
– het verschil tussen internet en www kunt uitleggen
– het client-server-model kunt uitleggen
– het nut van protocollen kunt uitleggen
– kunt uitleggen wat een URL is en hoe een URL is opgebouwd
– globaal kunt beschrijven wat er gebeurt als u een webpagina ophaalt
– globaal kunt beschrijven wat er gebeurt als u een e-mail verstuurt
– het protocol HTTP globaal kunt beschrijven
– het principe van cookies kunt uitleggen
– globaal de protocollen kunt beschrijven die gebruikt worden bij het
ontvangen van e-mail
– de applicatie DNS globaal kunt beschrijven.
OU
73
Inleiding informatica
Studeeraanwijzingen
De opgaven in paragraaf 7 hebben de vorm van practicumopdrachten.
Deze opgaven behoren wel tot de leerstof, maar u hoeft ze niet per se op
een computer te maken.
De studielast van deze leereenheid is ongeveer 6 uur.
LEERKERN
1
Internet
Communicatiekanaal
Host
Router
Applicatie
PDA = personal
digital assistent
Inleiding
Als we spreken over internet, dan bedoelen we een netwerk van onderling met elkaar verbonden computers. Onderling verbonden wil zeggen
dat er communicatie tussen deze computers mogelijk is. Die communicatie vindt plaats via communicatiekanalen, die bestaan uit diverse typen
media, zoals koperdraden, glasvezels en de ‘ether’ (voor draadloze
communicatie). Tot de computers die deel uitmaken van internet horen
pc’s, maar ook systemen die webpagina’s en e-mailberichten opsturen en
opslaan, PDA’s, laptops enzovoort. Dergelijke computers worden in het
computerjargon hosts genoemd. Naast hosts maken nog andere machines
deel uit van internet, zoals routers. Routers sturen berichten door die op
weg zijn van de ene host naar de andere. In leereenheid 16 gaan we
nader in op de structuur van internet.
Internet maakt het mogelijk dat toepassingen of applicaties die op
verschillende hosts draaien, met elkaar communiceren. Voorbeelden
van dergelijke applicaties zijn programma’s voor het verzenden en
ontvangen van e-mail, het surfen op het world wide web (www),
chatten, telefoneren via internet en nog heel veel meer.
In deze leereenheid ligt de nadruk op applicaties. Twee daarvan, www
en e-mail, zullen we tamelijk uitvoerig bekijken. Aan de hand van deze
beide applicaties bespreken we diverse concepten en onderwerpen die
een centrale rol spelen in dit deelgebied van informatica.
2
World wide web: een inleiding
Deze paragraaf is bedoeld als een inleiding op de applicatie world wide
web. Er komen vragen aan de orde als:
– Wat is een webpagina?
– Wat is het world wide web?
– Hoe zijn webpagina’s opgeslagen?
In de paragrafen 3 en 4 gaan we dieper in op de achtergronden van het
world wide web.
2.1
Webbrowser
74
WEBPAGINA’S BEKIJKEN
Als u een webpagina van internet wilt bekijken, moet er een applicatieprogramma op uw computer aanwezig zijn waarmee u dat kunt doen.
Dit programma heet een webbrowser of kortweg browser. Bekende
browsers zijn Microsoft Internet Explorer, Mozilla Firefox en Google
Chrome. U weet globaal hoe dat werkt. Een van de mogelijkheden is
dat u een adres intypt in het adresveld bovenin het scherm dat door
de browser is geopend. In figuur 15.1 is dat (denkbeeldige) adres
http://www.ou.nl/open-index/studenten.htm. Vervolgens drukt u op
de Entertoets.
OU
Leereenheid 15 Internet (1): enkele toepassingen
FIGUUR 15.1
Adresveld webbrowser
De webbrowser neemt dan contact op met de host waar zich de betreffende pagina bevindt. In dit geval is die host een machine van de Open
Universiteit. Er vindt enige communicatie plaats, die ertoe leidt dat de
pagina naar de browser wordt verzonden. De browser zorgt er tenslotte
voor dat u de betreffende webpagina te zien krijgt. De rol van de browser
is dus tweeledig: communiceren met de host waar zich de pagina bevindt,
én de pagina zichtbaar maken op het scherm van uw pc.
Webpagina
Maar wat is een webpagina eigenlijk? Het woord webpagina bestaat uit
twee delen: web en pagina. We beginnen met het woord pagina. Dat
zegt iets over het uiterlijk van het document wanneer het met een
browser wordt weergegeven. Op een beeldscherm ziet het er dan uit
als een pagina in een (plaatjes)boek. Toch zijn er verschillen. U kunt
de (web)pagina niet zomaar omslaan. Wat meestal wel kan, is met de
muisaanwijzer ergens op de pagina klikken waardoor weer een nieuwe
pagina verschijnt. We maken dan gebruik van een link.
Een link of voluit een hyperlink is een, in de pagina opgenomen verwijzing naar een andere pagina die ook ergens op een (meestal) andere
host staat. Door te klikken, vragen we de browser die pagina op te halen
en op onze pc weer te geven.
Het eerste deel ‘web’ van het woord webpagina zegt dat de pagina
onderdeel is van het world wide web.
Hyperlink
2.2
World wide web
(www)
Informatiesysteem
Verschil internet en
www
WAT IS HET WORLD WIDE WEB?
Het world wide web is niet hetzelfde als internet. Internet is een netwerk
van computers en het world wide web is een applicatie die door internet
mogelijk wordt gemaakt. Het world wide web, kortheidshalve ook wel
‘het web’, www of W3 genoemd, is preciezer gezegd een applicatie die
op internet wordt aangeboden als een hypermedia-informatiesysteem dat
– platformonafhankelijk
– dynamisch
– wereldwijd
– gedistribueerd
– interactief
is.
Op de verschillende aspecten van deze omschrijving zullen we nader
ingaan.
OU
75
Inleiding informatica
Hypertekst
Website
Hypermedia-informatiesysteem
De applicatie www is gebaseerd op hypertekst. Onder een hypertekst
verstaan we een (elektronisch) document dat door (hyper)links verwijst
naar een of meer andere documenten. Op deze wijze kunnen op het web
aanwezige documenten op willekeurige wijze aan elkaar gerelateerd
worden. In het algemeen herkent u een link aan een onderstreept woord
of zinsnede met een andere kleur dan de omringende tekst. Vaak ook
verandert de muisaanwijzer van vorm als deze zich op een link bevindt.
Klikt u met de muisaanwijzer op zo’n link, dan wordt er doorgeschakeld
naar de pagina waarnaar die link verwijst.
Een verzameling met elkaar samenhangende, met behulp van hyperlinks
gekoppelde documenten, heet een website. Een schematische voorstelling
van een website staat afgebeeld in figuur 15.2.
FIGUUR 15.2
Startpagina
Homepage
Index
Applet
Script
76
Schematische voorstelling van gekoppelde pagina’s
De pagina boven in deze structuur van pagina’s wordt de startpagina,
homepage of index genoemd.
Hyperlinks behoeven niet uitsluitend te verwijzen naar tekstuele
documenten. Ze kunnen ook verwijzen naar plaatjes, grafieken,
videofragmenten, geluidsfragmenten en dergelijke. Dat verklaart
het woord media in het woord hypermediasysteem. Ook bestaat de
mogelijkheid om bijvoorbeeld in de pagina een programmaatje op te
nemen dat uitgevoerd kan worden als de computer daar voor geschikt is.
Dit kan een zogenaamde applet zijn, die door de, op de computer aanwezige, Java-programmatuur uitgevoerd wordt. Ook kan het een script
zijn, geschreven in een zogenaamde scripttaal, zoals Javascript, dat door
de browser zelf uitgevoerd kan worden. Hierdoor kunnen allerlei extra
functies aan een pagina toegevoegd worden, zoals animaties,
interactieve invulschermen of statistische analyse van het gebruik van de
pagina.
OU
Leereenheid 15 Internet (1): enkele toepassingen
Interactief en wereldwijd gedistribueerd
De pagina’s die u op uw computer bekijkt, kunnen zich overal bevinden.
Het klikken op een link kan u verbinden met een geheel andere computer van internet. U bepaalt door te klikken (dus in interactie met de
geboden pagina’s) zelf welke weg u bewandelt via de hyperlinks.
Hierdoor is het www dus een interactief informatiesysteem. Omdat alle
met elkaar verbonden documenten zich op verschillende computers over
de gehele wereld kunnen bevinden, is er sprake van een wereldwijd
gedistribueerd (of verdeeld) informatiesysteem.
Interactief
Wereldwijd
gedistribueerd
Platformonafhankelijk en dynamisch
De computers waarop de pagina’s staan, kunnen van verschillende
makelij zijn en kunnen verschillende besturingssystemen bezitten. Het
www ‘werkt’ op al die computers en besturingssystemen. We spreken
daarom van een platformonafhankelijk informatiesysteem.
Met platform wordt bedoeld het computersysteem (combinatie computer
en besturingssysteem) waarop de pagina aanwezig is. Omdat de informatie over zoveel computers met zoveel verschillende beheerders is
verspreid, wordt (on)regelmatig de informatie aangepast, verwijderd of
uitgebreid. Het geheel is dan ook een dynamische vorm van informatievoorziening, met alle voor- en nadelen van steeds wijzigende informatie.
Platformonafhankelijk
Dynamisch
OPGAVE 15.1
Noem enkele voordelen en nadelen van het dynamische
informatiesysteem dat het world wide web is.
Het world wide web is dus een applicatie op internet waarbij allerlei
webpagina’s, die op verschillende aangesloten computers aanwezig zijn,
naar elkaar verwijzen en via internet geraadpleegd kunnen worden.
Door al die onderlinge verbindingen heeft het de naam web gekregen.
Het is in feite een groot spinnenweb geworden dat met hyperlinks aan
elkaar hangt.
2.3
HTML
Webpagina’s zijn opgeslagen in bestanden. Voordat een browser een
pagina kan tonen, moet een kopie van het betreffende bestand eerst naar
de browser worden gestuurd. Om de toegestuurde pagina te kunnen
weergeven, moet de browser de pagina kunnen ‘begrijpen’. Om
daarvoor te zorgen, zijn pagina’s veelal in een gestandaardiseerde taal
beschreven: HTML. Die afkorting staat voor hypertext markup language.
HTML is geen programmeertaal, maar een opmaaktaal waarmee de lay-out
van de op het scherm te tonen pagina wordt bepaald.
In figuur 15.3 zien we een eenvoudige webpagina weergegeven door de
browser, met als scherm daar overheen de broncode (source) van deze
webpagina.
HTML
Opmaaktaal
Broncode
Voorbeeld
We zien in de broncode de tekst terug met een heleboel extra codes daar
tussendoor. Al die codes staan tussen vishaken. Dat zijn de HTML-codes
die voor de juiste lay-out zorgen en links mogelijk maken.
OU
77
Inleiding informatica
FIGUUR 15.3
Eenvoudige webpagina, met de broncode
Via uw webbrowser kunt u zelf ook de HTML-code van een pagina bekijken, bijvoorbeeld
via de optie Bron of Source.
In de broncode komt de volgende regel voor:
<H2><EM>Openingstijden<EM></H2>
Het paar <H2> ... </H2> geeft aan dat de tekst die daartussen staat
(hier: Openingstijden), als een kop van niveau 2 (de H van H2 staat
voor header) moet worden afgedrukt. Daardoor wordt bijvoorbeeld de
afmeting van de letters bepaalt. Het paar <EM> ... </EM> geeft aan dat de
tekst die daartussen staat, nadruk moet krijgen (EM is de afkorting van
emphasis: nadruk). De betreffende tekst kan nadruk krijgen doordat de
letters cursief worden afgedrukt.
Figuur 15.3 toont een zeer eenvoudige webpagina. Meestal zijn webpagina’s veel ingewikkelder. In veel gevallen is de pagina zoals de
browser die toont op het scherm, niet in één bestand beschreven, maar
in meerdere. Vaak is er een HTML-bestand dat als basis dient, en zijn
er vanuit dat bestand links naar diverse objecten, zoals plaatjes en
geluidsfragmenten, die in andere bestanden staan beschreven. Een
voorbeeld van die structuur is te zien in figuur 15.4.
78
OU
Leereenheid 15 Internet (1): enkele toepassingen
FIGUUR 15.4
Een pagina wordt opgebouwd uit diverse bestanden.
Dat een pagina uit verschillende bestanden moet worden opgebouwd,
kunt u soms zien aan de wijze waarop een pagina op uw beeldscherm
wordt opgebouwd. U ziet dan dat niet de hele pagina in een keer op het
scherm verschijnt, maar dat het bijvoorbeeld voor diverse figuren even
duurt voordat ze op het scherm verschijnen. Dat komt omdat de betreffende bestanden niet tegelijkertijd worden opgehaald, maar na elkaar.
Bij de manier waarop de HTML-code wordt vertaald naar een
opgemaakte pagina, zijn kleine verschillen mogelijk tussen de
webbrowsers. Hoe een pagina er precies uitziet, is dus afhankelijk van de
gebruikte browser.
In leereenheid 19 kijken we nader naar HTML en het ontwerpen van
websites, waarbij de centrale vraag is hoe we gebruikersvriendelijke
websites kunnen maken.
3
Enkele belangrijke begrippen
Voordat we het www nader bekijken, bespreken we enkele belangrijke
begrippen.
3.1
Client
Server
server = dienaar
CLIENT-SERVER-MODEL
Bij het ophalen van een pagina op het web, is er sprake van twee
partijen: de client en de server. Deze termen worden gebruikt omdat de
ene partij de rol van klant speelt, die diensten afneemt, en de andere de
rol van dienstverlener. De client is in dit geval het programma dat
verzoekt om de pagina, en de server is het programma dat daarop
reageert door de pagina te versturen. De client op de ene host
communiceert dus met de server op de andere host (zie figuur 15.5).
OU
79
Inleiding informatica
FIGUUR 15.5
Proces
Leereenheid 14,
paragraaf 3
Clients halen informatie op bij de server.
In termen van besturingssystemen moeten we eigenlijk niet van
programma’s spreken, maar van processen. Het zijn niet de stukken
software die met elkaar communiceren, maar processen. Een proces
kunnen we opvatten als een programma dat wordt uitgevoerd op een
systeem.
De termen client en server worden overigens in dit vakgebied niet
alleen voor programma’s en processen gebruikt, maar ook voor
machines. Een voorbeeld daarvan is de mailserver. Daarmee wordt een
machine bedoeld die een rol speelt bij het versturen en ophalen van mail.
Meestal zal uit de context duidelijk zijn of we een proces of een machine
bedoelen; indien nodig zullen we dit expliciet aangeven.
Client-server-model
We spreken in dit verband van het client-server-model. We hebben dat
gepresenteerd aan de hand van het ophalen en versturen van webpagina’s, maar het wordt veel breder toegepast. Allerlei andere
applicaties op internet werken volgens hetzelfde model.
Voorbeeld
Ook de applicatie chatten werkt volgens het client-server-model. Allerlei
gebruikers chatten met elkaar via hun clients. Als een gebruiker iets
intypt, stuurt de client de tekst naar een server. De server zorgt ervoor
dat de teksten op een leesbare manier worden toegevoegd aan de
bestaande teksten en stuurt het resultaat terug naar alle clients. Elke
gebruiker kan dan zien wat iedereen heeft getypt. In figuur 15.6 is deze
gang van zaken geschetst. Links ziet u gebruikers die een tekst intypen,
rechts ziet u dat het resultaat naar alle gebruikers wordt gestuurd.
FIGUUR 15.6
80
OU
Server en clients bij de applicatie chatten
Leereenheid 15 Internet (1): enkele toepassingen
De applicatie e-mail is ook gebaseerd op het client-server-model.
In paragraaf 5 komen we daar nog uitvoerig op terug.
Peer-to-peer
Peer = gelijke
Ter vergelijking noemen we nog een applicatie die niet gebaseerd is
op het client-server-model: peer-to-peer-communicatie. Bij dit soort
applicaties kunnen gebruikers op gewone pc’s rechtstreeks met elkaar
communiceren, zoals aangegeven in figuur 15.7. Elke persoon kan met
ieder ander communiceren. Er is geen vaste scheiding tussen clients en
servers. De betrokken partners zijn ‘peers’: elkaars gelijken. Een bekende
toepassing is het onderling uitwisselen van MP3-bestanden.
FIGUUR 15.7
Peer-to-peer: geen vaste clients en servers
Bij het client-server-model zijn dus twee processen betrokken. Het
clientproces verzendt een bericht over het netwerk naar het serverproces.
Wanneer het serverproces het bericht ontvangt, voert het de gevraagde
actie uit en zendt het doorgaans een reactie terug naar de client.
Kenmerkend is dus dat de client steeds het initiatief neemt en dat de
server daarop reageert. Er is dus een asymmetrie in functie: de client
wil iets en de server voldoet daaraan. Een ander verschil dat daarmee
samenhangt, is dat een server altijd beschikbaar moet zijn, in afwachting
van verzoeken van clients. Clients zijn alleen actief als hun dat zo
uitkomt.
3.2
Protocol
PROTOCOLLEN
Als u een webbrowser een pagina wilt laten ophalen die zich op een
andere host bevindt, is daarvoor communicatie nodig. Er worden
berichten uitgewisseld tussen de client op uw pc en de server op de
andere host voordat u het resultaat ziet op uw scherm. Die uitwisseling
van berichten vindt plaats volgens een bepaald protocol. Een protocol
bepaalt hoe communicatiepartners met elkaar communiceren en welke
acties ze daarbij ondernemen. In een protocol is precies vastgelegd:
– welke berichten kunnen worden uitgewisseld en wat de syntaxis
daarvan is (voorbeelden daarvan zijn berichten waarin de client een
verzoek doet aan een server, en berichten waarin de server dat verzoek
beantwoordt; de syntaxis van dergelijke berichten wordt precies
omschreven door een protocol)
– de volgorde van de uitgewisselde berichten
– de acties die ondernomen worden bij het versturen van berichten en
bij het ontvangen van berichten.
OU
81
Inleiding informatica
Ook mensen communiceren via protocollen met elkaar. Neem als
voorbeeld Else die in een onbekende stad de weg vraagt aan Michiel:
Else: “Hallo.”
Michiel: “Hallo.”
Else: “Bent u hier bekend?”
Michiel: “Een beetje.”
Else: “Kunt u mij dan de kortste weg naar het station wijzen?”
Michiel: “Eerste weg rechts, uitlopen, aan het eind links.”
Else: “Dank u wel.”
Michiel: “Graag gedaan.”
Ook in dit geval is er sprake van specifieke berichten die in een bepaalde
volgorde worden verzonden (al is de syntaxis in dit geval minder streng
beschreven), en verwachten de communicatiepartners specifieke reacties
op ontvangen berichten. Als Else bijvoorbeeld het initiatief heeft genomen door ‘hallo’ te zeggen, verwacht ze dat Michiel ook iets zegt, om
aan te geven dat hij naar haar luistert. Als Michiel inderdaad ‘hallo’
gezegd heeft, verwacht hij dat Else een vraag zal stellen. Hij verwacht
niet dat zij zich omdraait en hard wegrent. Het staat Else vrij om dat te
doen, maar dan houdt ze zich niet aan het (impliciete) protocol.
In een protocol wordt dus vastgelegd hoe een bij elkaar horende client en
server met elkaar communiceren. Dat ‘bij elkaar horen’ is ook van
belang. Zoals we nog zullen zien, moet de communicatie plaatsvinden
met de juiste partners.
HTTP
Webserver
Elke applicatie op internet heeft haar eigen protocol of protocollen. Zo
verloopt het ophalen van een webpagina volgens het protocol dat HTTP
heet: hypertext transfer protocol. Als de client op de door HTTP voorgeschreven manier een verzoek indient bij de server, dan zal de server
dit verzoek weer op de door HTTP voorgeschreven manier afhandelen en
op de voorgeschreven manier de gevraagde pagina terugsturen.
We zien dus dat HTTP een clientkant heeft en een serverkant. De clientkant van HTTP is geïmplementeerd in de webbrowser. Op dezelfde
manier is de serverkant geïmplementeerd in software die de webserver
wordt genoemd.
De term webserver wordt overigens ook wel gebruikt om een host aan
te duiden waarop zich een bepaalde website bevindt.
We zullen zien dat bij de applicatie e-mail diverse protocollen betrokken
zijn, die we in paragraaf 5 bespreken.
3.3
Adres
URL
DE STRUCTUUR VAN WWW-ADRESSEN
Webpagina’s verwijzen naar elkaar met behulp van (hyper)links. De link
naar een pagina bevat het adres van het bestand waarin die pagina is
opgeslagen. Zo’n adres noemen we een URL (uniform resource locator).
Iedere webpagina heeft zijn eigen URL. Een voorbeeld dat we al eerder
zijn tegengekomen, is:
http://www.ou.nl/open-index/studenten.htm
82
OU
Download