WWW - World Wide Web
Forelesningsnotat for forelesningen mandag 11. november 1996.
Referanse
Tanenbaum: 7.6 THE WORLD WIDE WEB side 681
Historie
Det som vi i dag kjenner som World Wide Web startet på CERN i Sveits
i 1989. CERN er som kjent et Europeisk senter for forskning på kjernefysikk, og
de gjennomfører komplekse eksperimenter med store partikkelakselleratorer for å
observere naturens aller minste bestanddeler. I dette miljøet var det behov for
å vedlikeholde og distribuere store mengder felles informasjon for en stor
samling vitenskapsfolk som var spredt rundt omkring i verden, og måten å
løse den utfordringen på ble starten på et helt nytt kapittel i
databehandlingens historie. Som en kuriositet for oss nordmenn er det verdt å
nevne at dokumentet som
beskriver historien til World Wide Web starter med et program på en
Nord-maskin med SINTRAN III.
CERN var lenge sentral i videreutviklingen av WWW, men den aktiviteten
er nå overtatt av WWW-konsortsiet, som er et samarbeidsorgan som blir sponset
av de store aktørene i databransjen.
Prinsipp
De viktigste delene av World Wide Web er dokumentene,
serverne og klientene.
En klient er et dataverktøy (program) som en bruker benytter for å lese
dokumentene (Web-sidene). For å få tak i et dokument tar klienten kontakt
med servere og ber om et bestemt dokument. Serveren finner dokumentet (filen)
og sender det til klienten. Klienten viser det så fram (vanligvis på en skjerm)
for brukeren. Kommunikasjonen mellom klient og tjener foregår med en egen
applikasjonsprotokoll som kalles HTTP. Dokumentene i WWW kan inneholde aktive
element (linker) slik at brukeren ved å velge (klikke på) en link kan få fram
et annet dokument.
URL
URL er en forkortelse for Uniform Resource Locator, og vi kan tenke på det
som en utvidelse av begrepene fil og katalog
som vi kjenner fra annen databehandling. Det nye med URL i forhold til filer
og kataloger, er at vi utvider begrepet til å gjelde maskiner på Internett, og
også en angivelse av på hvilken måte filen skal hentes (protokoll).
Det generelle formatet på en URL er:
scheme://host.domain
[:port]/path/filename
Der scheme er en av:
- file
- en fil på ditt lokale datasystem
- ftp
- en fil på en FTP-server som er åpen for anomnym-FTP
- http
- en fil på en WWW-server
- gopher
- en fil på en Gopher-server
- WAIS
- en fil på en WAIS-server
- news
- en gruppe i Usenet News
- telnet
- en telnet-forbindelse til en tjeneste
host.domain er navnet på maskinen på vanlig DNS-format.
port kan utelates hvis tjenestene er tilgjengelig på standard
portnummer for den aktuelle protokollen.
path og filename er søkesti (katalognavn) og selve
navnet på filen der dette er aktuelt.
HTML
HTML står for Hypertext Markup Language, og det er navnet på det "språket" som
brukes for å definere strukturen i et dokument som skal brukes i WWW.
HTML-dokument er vanlige tekstfiler. De omtales ofte som ASCII-filer selvom
det er upresist. ISO-8859-1 er det tegnsettet som skal brukes, og det er nesten
identisk med tegnsettet som brukes i Microsoft Windows. HTML-kan derfor lages
med et så enkelt hjelpemiddel som Notisblokk i Windows, og vi kan skrive inn
æøå og ÆØÅ uten å bruke spesielle koder.
TAG - merkelapp
I tillegg til vanlig tekst består et HTML-dokument av TAGS (tagger på nynorsk
eller merkelapper på vanlig norsk). En tag er spesielle merker som angir
strukturen i teksten. Merkene skilles fra den vanlige teksten ved at de har
tegnet < foran og > bak. Merkene kan
skrives både med store og små
bokstaver, men det er ganske vanlig å bruke store, for å skille dem tydelig
fra vanlig tekst. Det er også vanlig å bruke innrykk i HTML-dokument for å vise
hvordan strukturen i dokumentet er. Alle "blanke" (mellomrom, linjeskift og
tabulator-tegn) blir oversett av klientprogrammene når de formaterer
dokumentene for framvising. Et lite HTML-dokument kan for eksempel se
slik ut:
<html>
<head>
<TITLE>Datakommunikasjon III - WWW</TITLE>
</head>
<body>
<H1>WWW - World Wide Web</H1>
<P>Welcome to the world of HTML.
This is the first paragraph. While short it is
still a paragraph!</P>
<P>And this is the second paragraph.</P>
</body>
</html>
Merkene <html>, <head>, <title>,
og <body> (og tilhørende slutt-merker) skal være med i alle dokument.
Linjeskift
Avsnitt
Overskrifter
HTML
HEAD
TITLE
TAG
TAG
Hypertext Transfere Protocol, HTTP
Hypertext Transfere Protocol, HTTP er den protokollen som brukes for
å overføre Web-sider mellom server og klient.
HTTP 1.0
HTTP 1.0 er ikke egentlig en standard, for HTTP har blitt tatt i bruk
fort, og på noen ulike måter. HTTP har vært i bruk helt siden 1990,
men først nå i år, i mai 1996 kom det en RFC som beskriver protkollen.
Det er Informal RFC 1945
med tittelen Hypertext Transfer Protocol -- HTTP/1.0
HTTP 1.1
HTTP NG
Problemer med WWW
World Wide Web har blitt populært og utrolig utbredt i løpet av svært kort tid,
og det er ikke til å unngå at det har gått litt over stokk og stein, og at
det i ettertid viser seg at ikke alt fungerer like godt. Men som vi kjenner
til fra andre problem som har oppstått i Internett-sammenheng, så jobbes det
på mange hold med å forbedre WWW. Jeg skal i dette avsnittet førsøke å beskrive
noen av probleme og også hva som gjøres for å løse dem.
Bruk og misbruk av HTML
HTML brukes i dag på en annen måte en det var laget for i utgangspunktet. Det
brukes i stor grad for å lage layout på sidene, mens det var designet for å
informere om strukturen og det var tanken at layout skulle være opp til
klient-programmet og brukerens preferanser. Mange av dem som i dag lager
HTML-dokument har mye av sin tidligere erfaring fra bruk av grafiske progrmmer
for å lage delikate trykksaker, og de tar med seg den tradisjoene over i WWW.
Det gjøres utrolig mange krumspring for at sidene skal få et helt bestemt
utsenede. Designerne glemmer ofte at det finnes svært mange ulike klient-progammer
og at brukerne fritt kan velge om de vil se bilder, og hvilken font og
skriftstørrelse de vil se på sin skjerm.
I WWW-konsortiet jobbes det nå med såkalte style-sheets. Det er maler som
beskriver i større detalj hvordan et dokument skal se ut. Populært og enkelt
kan vi si at strukturen skal defineres av HTML-kodene, mens layout vil bli
definert av stilarkene.
Ineffetivitet i HTTP
Det er to årsaker til at HTTP ikke er så effektiv som vi kunne ønske oss. Den
ene ligger i selve WWW-konseptet, mens den andre har å gjøre med hvordan
protokollen er realisert.
WWW-koseptet oppmuntrer til at informasjon bare skal lagres et sted og at
alle som vil ha tilgang til den informasjonen henter den ved behov. Ulempen
med en slik organisering av informasjon, er at nettet blir mye belastet med
å overføre den samme informasjonen til mange brukere.
Fra DNS systemet kjenner vi til at effektiviteten kan økes betraktelig ved
at noder i nettet mellomlagrer (CACHE) informasjonen, og den samme teknikken
blir nå tatt i bruk for WWW. Det settes opp såkalte proxy-servere og alle
blir anbefalt å la sine forespørsler gå gjennom slike lokale mellomlager.
Selve HTTP har også blitt kritisert ganske mye fordi den åpner for mange
TCP-forbindelser, også mot den samme serveren for å få tak i ulike deler
av det dokument.
Det arbeides med en ny versjon, HTTPng som mellom annet skal ha bedre
egenskaper på dette området.
Standardisering
Siden WWW har blitt utviklet og tatt i bruk så raskt, har standardiseringen
kommet i bakleksa i forhold til programvareprodusentene. Disse (Microsoft og
Netscape) har på sin side gjort det de kan for å lage spesielle utvidelser som
skal knytte kundene til deres produkter. Det er vanskelig å se noen god løsning
på dette prblemet, og det er sannsynlig at arbeidet med standardene fortsatt
vil bli liggende etter.
URL kontra URN
URL-konseptet har også vist seg å ha ganske betydelige svakheter. Fordi
URL en peker på en bestemt fil i en bestemt katalog på en navngitt maskin vil
en URL bli ugyldig når informasjon reograniseres. Og vi opplever dette daglig
ved at vi finner linker som bare produserer feilmeldingen "File not found".
Problemet ligner på IP-adresse kontra DNS-navn, og løsningen som er forelsått
er å gå over fra URL til Universal Resource Name. Altså at man navngir ressurser
og overlater til systemet å finne ut hvor ressursen befinner seg.
Problemet har vært kjent og diskutert lenge, og det er altså foreslått løsninger,
men det ser ut til at det vil ta lang tid før dette blir satt ut i livet.