Velkommen til 2 semester p Bornholm Nikolaj Brandt
Velkommen til 2. semester på Bornholm Nikolaj Brandt Hemmeshøj Jon Bertelsen
Dagens plan § Intro til 2. semster § Gruppe dannelse § Oversigt over ugens emne
Praktisk for semesteret
Oversigt over 2. semester § § § Moodle flow – “Datamatiker 2. semester Forår 2019” Skema Det meste materiale vil være på github-pages § https: //github. com/bornholm 2 sem 2019 § ((kort gennemgang af oversigt)) § Emnerne for modul 1 til 5 Info om semesteret er samlet på en side § ((gennemgang af praktisk info)) Ugeplan
Grupper for modul 1
Grupper i modul 1 Ole Ulrik Jeppe Joshua Marcus Rømer Jesper Simon Bue Emil Karl
Netværk og HTTP
Fagligt i modul 1 § Første uge § Lav din egen webserver § Anden uge § Optimer den med flere tråde
Internettets opbygning Hvis du I din browser skriver: https: //xkcd. com/1348/ Hvad betyder det egentligt? ((Lav en tegning på tavle)) Wikipedia
Demo af picoserver 2 ((Jon tegner og fortæller om de to eksempler)) Centralt i internettet er § Selve nettet, IP adresser, DNS, portnumre § Protokoller (hvilken information der sendes, og formatet på denne) WWW bygger på to centrale standarder: § HTTP – formatet på de beskeder udveksles § HTML – formatet på hvordan en hjemmeside beskrives Bemærk at HTTP bruges også til at sende billeder og
Opgave 1. Download koden fra github (link i materialet). 2. Få det oversat 3. Kør picoserver 02 – og forbind til serveren fra to forskellige browsere. 4. Ret koden til så serveren svarer med jeres gruppenavn og hvad klokken er (eller et eller andet cool slogan).
HTTP request – STI og parametre ((Kør picoserver 02 og kik på output igen)) Denne del kaldes STI (Path) – optil et evt ”? ” Disse kaldes PARAMETRE Adskilt med ”&” hvis der er flere GET /folder 1/folder 2/fil. html? navn=Hansen&pris=677 HTTP/1. 1 Host: localhost: 8080 User-Agent: Mozilla/5. 0 (Macintosh; Intel Mac OS X 10. 13; rv: 61. 0) Gecko/20100101 Firefox/61. 0 Accept: text/html, application/xhtml+xml, application/xml; q=0. 9, */*; q=0. 8 Accept-Language: en-US, en; q=0. 5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1 Key-value pairs – kaldes: HEADERS
HTTPRequest klassen I det udleverede projekt er der en HTTPRequest klasse. picoserver 03 viser hvordan den kan bruges.
OPGAVE Kør picoserver og kald serveren sådan at: 1. Stien bliver ”/shop/lamborgini. html” 2. Stien bliver ”index. html” (hvorfor kan denne ikke lade sig gøre? ) 3. Der kommer parameter: 1. Hedder ”price” og har værdi ”waytomuch” 2. To parametre: ”name” med værdi ”Larsen”, og ”country” med værdi ”Jylland”. 3. En parameter der hedder ”city” med værdi: ”Solrød” 4. Kan du ændre så der kommer noget andet i headeren ”User-Agent”?
Statiske hjemmesider Stien i et request har formen som en almindelig fil sti. En central opgave for webservere er at kunne returnere statiske hjemmesider. (( Gennemgå picoserver 04 ))
Oversætte og køre et java program § Source og target directories § (( Project & File windows in Intelli. J )) § Ressourcer § Billeder, database konfigurationer, - og her – hjemmesider. Undgå at fastlåse sig på et specifikt sted på harddisken.
Opgave § Lav to simple hjemmesider og få jeres server til at kunne returnere dem.
Statiske og dynamiske sider § (( gennemgå picoserver 06 )) § Tre centrale dele § Fejl håndtering § Statiske sider genkendt ud fra ”. html” / ”. txt” § Dynamiske sider kodet
Opgave § § Få picoserver 06 til at køre kald addnumbers fra to forskellige browsere Få picoserver 06 til at give en fejlmeddelelse Prøv den på den ene af de to filer vi lavede før
Opgaverne til denne uge (( Se materialet på hjemmesiderne ))
Kort demo af klient kode --- Hvis vi har tid (( vis Client. Main ))
Liste over standard protokoller Wikipedia har en liste over hvilke servere der som ”standard” ligger bag forskellige portnumre. Hvilke kender I til?
- Slides: 22