Administration: Grundläggande internetprogrammering

Relevanta dokument
Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

IT för personligt arbete F2

Grundläggande datavetenskap, 4p

Datakommunika,on på Internet

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Webbservrar, severskript & webbproduktion

Datakommunika,on på Internet

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

TCP/IP och Internetadressering

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

TNMK30 - Elektronisk publicering

Christer Scheja TAC AB

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

5 Internet, TCP/IP och Tillämpningar

Datakursen PRO Veberöd våren 2011 internet

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

OSI-modellen. Skiktade kommunikationsprotokoll. OSI-Modellen. Vad är en bra skiktindelning? Fysiska skiktet. Länkskiktet

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Föreläsning 6 Mål. Mänskor och IP adresser. Domain Name System (1/3) Numeriska adresser används i Internet

Datasäkerhet och integritet

Multimedia. Agenda. Internet. World wide webb och multimedia. Internet World Wide Web Webbpublicering

Avancerade Webbteknologier

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation

Föreläsning 9 Transportprotokoll UDP TCP

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Föreläsning 5: Stora datanät Från användare till användare ARP

F1 Nätverk och meddelandesändning

Arbetsmaterial HTML pass 1 - Grunder

Från användare till användare ARP. (Maria Kihl)

Tentamen i Datorkommunikation den 10 mars 2014

Övningar - Datorkommunikation

Skärmbilden i Netscape Navigator

Internets historia Tillämpningar

IP-baserade program. Telnet

5 Internet, TCP/IP och Applikationer

Webbserver och HTML-sidor i E1000 KI

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Mattias Wiggberg 1. Datorkommunikation, grundbegrepp. Skiktade kommunikationsprotokoll

Föreläsning 1. På klientsidan... Allmänt. På serversidan... Och dessutom... DD1389 Internetprogrammering 6 hp

TNMK30. Elektronisk publicering

! Katerina Vrotsou! Medieteknik. 2004! Informationsvisualisering, visuell data analys

Kapitel 5: Lokala nät Ethernet o 802.x. Lokala nät. Bryggan. Jens A Andersson (Maria Kihl)

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

KUNDREGISTER Sid 2(7) Teknisk specifikation

Webbprogrammering. Sahand Sadjadee

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

Öppna standarder. Programvaror och tjänster 2014

Informationsteknologi sommarkurs 5p, Datakommunikation

5. Internet, TCP/IP tillämpningar och säkerhet

Föreläsning 9. Transportskiktet. User Datagram Protocol (1/2) Introduktion till modern telekommunikation Gunnar Karlsson, Bengt Sahlin 1

Systemkrav och tekniska förutsättningar

Nätverksprogrammering. Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. F1 Nätverk och strömmar.

Språk för webben introduk4on 4ll HTML

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

Statistik från webbplatser

Webbtjänster med API er

F1 Nätverk och meddelandesändning

F1 Nätverk och strömmar

F2 Exchange EC Utbildning AB

Webbprogrammering 725G54

Det är en Internet läser son gör det bekvämt för os ute på Internet. som t.ex Internet Explorer, firefox.

Stora datanät Från användare till användare. Jens A Andersson

Teknikprogrammet, inriktning informations- och medieteknik

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Laboration 4 Rekognosering och nätverksattacker

att det finns inte något nätverk som heter Internet Finns Internet? Varför fungerar det då? Nätet? Jag påstår

Lastbalansering för webbservrar

ANVÄNDAR-GUIDE för Bränneriets LAN

Varför fungerar det då? Elektro- och informationsteknik Lunds Tekniska Högskola

Datainsamling över Internet

NSL Manager. Handbok för nätverksadministratörer

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) , kl 8-13

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

F8 Meddelandesändning med UDP

Repetition. Hypertext. Internet HTTP. Server och klient Text försedd med länkar till andra texter. Många sammankopplade nät

Repetition. Hypertext. Internet HTTP. Server och klient Föreläsning 2. Text försedd med länkar till andra texter. Många sammankopplade nät

Föreläsning 4: Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll Transportprotokoll. Emma Fitzgerald

DIG IN TO Nätverksteknologier

Hyperlänkar. I HTML skapar man en hyperlänk med taggen <a> </a>, som är en förkortning av ordet ankare, på (engelska anchor).

Webbprogrammering TDDD52

Web Services. Cognitude 1

Projekt Foreläsning VI

Webbprogrammering grunder

Grundläggande nätverksteknik. F1: Introduk6on

Hur BitTorrent fungerar

F1 Nätverk och meddelandesändning

Internets historia i Sverige

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Transkript:

Administration: Grundläggande internetprogrammering Verktyg för hands-on internetprogrammering 2D2052 (ingint06) / 2D1335 (gruint06) Serafim Dahl serafim@nada.kth.se gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 1 av 25

Administration: Vad kommer vi syssla med? Grundläggande om internet Protokoll, adresser, värddatorer Märkspråk, HTML, XHTML Internetförbindelser, servrar (Java) Server-Side programmering CGI, Servlets (Java) JSP (Java Server Pages) och PHP 3-tier -system: JDBC (Java-SQL) gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 2 av 25

Administration: Vad kommer vi syssla med... Client-Side programmering Javascript CSS Applets (Java) och annat (ActiveX) Annat XML, Web Services, den semantiska webben vad mer? Fältet är ganska öppet gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 3 av 25

Administration: Labbar Labbarna är breda, inte djupa. Mycket att göra, men inget är svårt. Mallar att utgå från. Grundläggande om nätverk och nätverksprogrammering. [Labb 1] Nätverksuppkopplingar. [Labb 2] Server-Side -programmering. [Labb 3] och [Labb 4] Client-Side -programmering. [Labb 5] gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 4 av 25

Administration: Projekt Ni definierar era egna projekt enligt följande: Forma grupper om 3 eller högst 4 personer. Projektet skall framställa ett interaktivt automatiskt WWW-system, så bara HTML duger inte. Det måste ingå Server-Side -programmering (t.ex. shopping, bokningssystem, resurshantering). Det måste ingå Client-Side -programmering (t.ex. Javascript för kontroll av användarinmatning) Hög kvalitet på layout åstadkommen med CSS, inte hög komplexitet men bra användning av internet som medium. Skicka e-mail med c:a 5 rader som beskriver projektet och med lista över medlemmarna. gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 5 av 25

11 föreläsningar. Kom på dem! 5 labbar (måste göras) 6 projektsessioner Kurskoder: inint06 / gruint06 Registrera er på kursen: Logga in på någon dator res checkin ingint06 Administration: Lite av varje För att få info om kursen då ni loggar in course join ingint06 gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 6 av 25

Grundläggande om nätverk Introduktion till Internet Kursledare: Serafim Dahl Medhjälpare och gästföreläsare (XML): Öjvind Johansson, som jobbar på Albanova Många bilder gjorda av Christian Bogdan och Björn Eiderbäck gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 7 av 25

Introduktion till Internet... Innehåll Lite om: nätverkskoncept webb-koncept internetadresser socketar (sockets?) Referenser: Harold: Java Network Programming Hall: Core Web Programming Deitel, et al: Internet and the World Wide Web How to Program Ince: Developing Distributed and E-Commerce Applications gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 8 av 25

Programmering av nätverksapplikationer Varför nätverksapplikationer? I takt med den tekniska utvecklingen blir det mer och mer vanligt med kommunikation mellan applikationsprogram och med applikationsprogram som delas upp och kör på olika datorer. Exempel på program med asynkron kommunikation: webläsare, email, news. Andra exempel: Distribuerade databaser, ljud, radio, video och internettelefoni. Behov av applikationsprogram där användarna är medvetna om varandras närvaro: Delade anslagstavlor, whiteborads, delade ordbehandlare, styrsystem (t.ex. robotar) och (inte minst) spel. Finns stöd i dagens nätverk, där vi ska titta närmare på internet. gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 9 av 25

Programmering av nätverksapplikationer Mängder av siter av olika slag Auktioner, reklam, köporder, portaler med siter av samma slag samlade, affärer, musik, film, intressesiter, mjukvara, info, rapporter, böcker, sökmotorer, undervisning,... Olika typer av applikationsprogram E-post News Webbaserade Databaser Klient-server, per-to-peer Telefon Video... gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 10 av 25

Nätverk Ett nätverk är en samling av sammankopplade datorer och/eller annan utrustning Termer: nod, en maskin i nätverket (dator, skrivare, brygga, läskautomat,... ) värd (eng. host), fristående fullt autonoma datorer i nätet kallas värdar adress, varje nod i nätverket har en unik adress bestående av ett antal bytes paket, moderna nätverk är paketbaserade, d.v.s. att informationen bryts ner till och skickas som paket. Varje paket hanteras separat. protokoll, regler som specifierar hur kommunikationen i ett nätverk skall gå till gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 11 av 25

Internet Inteernet är det mest kända nätverket och det mest spridda. Designat för robusthet (det blir sällan några fel) Första versionen 1969, ARPANET, konstruerat av ARPA, en enhet inom USAs försvar. 1983 var 562 datorer kopplade till ARPANET 1986 var 5000 datorer uppkopplade 1987 var det 28000, 1989 100000, 1990 300000 gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 12 av 25

Lager (layer) Ett nätverk är uppbyggt av flera lager Applikation (HTTP, FTP, Telnet) Transport (TCP, UDP,...) Nätverk (IP,...) Logisk förbindelse Applikation (HTTP, FTP, Telnet) Transport (TCP, UDP,...) Nätverk (IP,...) Fysiskt lager (Ethernet, FDDI, LocalTalk, drivrutiner,...) Applikationsprogrammerare arbetar mest i det övre lagret någon gång i transportlagret (distribuerade tillämpningar) Övriga lager behöver man normalt inte bry sig om gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 13 av 25

IP, TCP, UDP IP, Internet Protocol protokollet för nätverksnivån (orsak till namnet Internet ) TCP, Transport Control Protocol ett anslutningsbaserat protokoll som säkerställer korrekt datautbyte mellan två noder UDP, User Datagram Protocol ett protokoll som tillåter skickande av oberoende paket från en nod till en annan utan garanti för att paketen kommer fram eller att de som kommer fram kommer i rätt ordning gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 14 av 25

IP-adress, DNS IP-adress, Varje dator identifieras av ett unikt 4-bytes-(32-bits-)tal Fast nummer för många datorer dynamisk adresstilldelning för andra 1995 exploderade internetanvändningen och då 32-bitars-adresserna inte räcker till (det blir bara 2 32 = 4294967296 adresser) så har man skapat IPv6 som ger 2 128 = 340282366920938463463374607431768211456 adresser. Bör ju räcka... DNS, Domain Name Server IP-adresser är svåra att komma ihåg så DNS skapades för att tillåta symboliska (textuella) namn som slås upp och översätts till IP-adresser Ex.: www.nada.kth.se översätts till 130.237.225.40 gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 15 av 25

Portar Varje dator med IP-adress har 65536 logiska portar för kommunikation med omgivningen. Vissa portar är reserverade portnumren 0-1023 är reserverade (till vad kan man på UNIX/Linux se i /etc/services där man även ser vad andra registrerat för portar) t.ex. följande: port 7 för eko port 20-21 för ftp port 23 för telnet port 25 för smtp (skicka e-post) port 80 för http (webbserver) port 110 för POP3 (läsa post) gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 16 av 25

Intranet Andra nät finns med samma uppbyggnad. Lokala nätverk brukar kallas intranet. De kan kopplas till internet med speciella bryggor. internet 212.223.44.65 192.168.0.1 192.168.0.199 51 52 53 54 192.168.0.2 gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 17 av 25

Klient-server-modellen Idag är klient-server (ibland klient-betjänt) -modellen den förhärskande vid konstruktion av distribuerade samarbetande applikationsprogram. en klient ber en server om en tjänst (t.ex. att få reda på vad klockan är) en server utför tjänster åt klienter (t.ex. svarar på vad klockan är, skickar en fil från sitt lokala filsystem eller en webbsida) gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 18 av 25

Klient-server-modellen... Inte alla typer av applikationsprogram passar in i klient-server-modellen. Somliga agerar både server och klient och om båda ändarna i kommunikationen gör det kallas kommunikationen för peer-to-peer. Ex: en delad rit-editor spel (runescape, war craft,... ) telefonförbindelse gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 19 av 25

RFC (Request for comments) Internetstandarder har utvecklats helt öppet, ofta publikt redan från prototypstadiet. Protokollen finns öppet tillgängliga på internet. Protokollen är indelade i nivåer: Obligatoriska, som varje host måste implementera, som t.ex. IP Rekommenderade, som bör implementeras, t.ex. TCP, SMTP, UDP, TelNet,... Valfria, som t.ex. MIME Begränsade som oftast inte behövs (utom i specialfall) Icke rekommenderade, som inte bör implementeras Historiska, d.v.s. utgångna Informativa, t.ex. som konstruerats utanför RFC men är användbara eller som är nyttiga utan att erbjuda ett fastställt protokoll gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 20 av 25

HTTP, HTML, XHTML, MIME HTTP, HyperText Transfer Protocol, standardprotokoll för kommunikation mellan en webbserver och en webbklient HTML, HyperText Markup Language 1:a generationens standardspråk för webbsidekonstruktion, delmängd av SGML med hög feltolerans XHTML, extensible HTML, 2:a gen. språk för webbsidekonstruktion HTML som strikt delmängd av XML MIME, Multipurpose Internet Mail Extension öppen standard för hur multimediaobjekt ska skickas via e-post gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 21 av 25

URI, Uniform Resource Identifier URL, URI, URN definierar hur en resurs entydigt identifieras på internet har undergrupperna URL och URN URL, Uniform Resource Locator referens för en adress på internet ser ut så: protokoll://värd[:port]/sökväg/fil[#avdelning] ex: http://dupond.kth.se:8085/onweb/contents#schema] URN, Universal Resource Name pekare till resurs utan angivande av dess exakta placering, t.ex. sökning på en viss kategori av dokument ger alla de URLer där alla dokumenten finns gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 22 av 25

SGML & HTML SGML, Standard Generalized Markup Language skapades under tidigt 70-tal beskriver en texts semantik snarare än hur det ska presenteras. HTML, HyperText Markup Language skapades under tidigt 90-tal ur SGML beskriver hur en text ska presentation snarare än dess semantik. är lingua franca för presentation av hypertext på webben gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 23 av 25

HTTP HTTP, HyperText Transport Protocol standard som beskriver hur en webbklient och en webbserver utbyter data använder MIME för avkodning av data använder TCP/IP för överföring av data klienten skickar ett meddelande (när kontakten redan är etablerad), t.ex. GET /index.html HTTP/1.1 webbservern svarar genom att skicka index.html till klienten gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 24 av 25

MIME MIME, Multipurpose Internet Mail Extension öppen standard för hur multimediaobjekt ska skickas via e-post anger typen för de data som skickas, t.ex. text/plain, text/html news application/postscript, application/pdf zip image/gif, image/jpeg, image/tiff, image/x-bitmap audio/basic, audio/mpeg video/mpeg, video/quicktime, video/x-msvideo gruint06/ingint06, intro + intro till internet Föreläsning 1, bild 25 av 25