Chapter 2 Application Layer

Samankaltaiset tiedostot
Chapter 1 Introduction

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Chapter 2 Application Layer

2. Sovelluksia ja sovellusprotokollia

Chapter 3 Transport Layer. Kuljetuskerros

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Sovelluskerros. Chapter 2 Application Layer. Sovelluskerros. Joitain verkkosovelluksia. Sovelluskerros. Verkkosovelluksen luonnista

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

Chapter 3 Transport Layer. Kuljetuskerros

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu

OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

Sovelluskerros. Chapter 2 Application Layer. Sovelluskerros. Joitain verkkosovelluksia. Verkkosovelluksen luominen. Sovellusarkkitehtuurit

Käännös Mirja Hosionaho 100%

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

SuomiCom-sähköpostiasetukset Microsoft Outlook 2016

2. Sovelluksia ja sovellusprotokollia

Tietoliikenne II (2 ov)

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Security server v6 installation requirements

Chapter 5 Link Layer and LANs

Security server v6 installation requirements

ELEC-C7241 Tietokoneverkot Sovelluskerros

ELEC-C7241 Tietokoneverkot Sovelluskerros

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Tietoliikenne II (2 ov)

Tietoliikenne I (muuntokoulutettaville) 2 ov Syksy 2002 Luennot Liisa Marttinen 11/6/2002 1

Miten Internet toimii?

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

SSH Secure Shell & SSH File Transfer

GPRS-lisäpalvelu INTERNET-ASETUKSET

S Teletekniikan perusteet

Tietoliikenneohjelmointi. v. 0.01

Tietoliikenne I (muuntokoulutettaville) 2 ov syksy 2003 Luennot Liisa Marttinen

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Tietoliikenne I (muuntokoulutettaville) 2 ov syksy 2003 Luennot Liisa Marttinen

ATK yrittäjän työvälineenä

Mikä on internet, miten se toimii? Mauri Heinonen

Tietoliikenne I 2 ov kevät 2003

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

Luottamuksellinen sähköposti Trafissa

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2004

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen

Sähköpostisanoman muoto. Push- ja pull-protokollat. työntöprotokolla (PUSH) Yleisiä sanoman otsakekenttiä kentät erotettu rivinvaihdolla

Tietoliikenne I 2 ov kevät 2002

Miten Internet toimii?

Verkkoliikennettä Java[ssa lla] Jouni Smed

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja oheislaitteet. Keskuskone ja päätteet (=>-80-luvun alku)

Tietoliikenteen perusteet

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

Push- ja pull-protokollat

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Tietoliikenne I 2 ov syksy 2001

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT

kynnysarvo (threshold)

ELEC-C7241 Tietokoneverkot Kuljetuskerros

kynnysarvo (threshold)

C:. S: 250 Message accepted for delivery C: QUIT S: 221 princeton.edu closing connection

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

F-SECURE TOTAL. Pysy turvassa verkossa. Suojaa yksityisyytesi. Tietoturva ja VPN kaikille laitteille. f-secure.com/total

1. Tietokoneverkot ja Internet

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Sähköpostitilin käyttöönotto

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2011

Lähettävä postipalvelin Vastaanottava postipalvelin

Järjestelmäarkkitehtuuri (TK081702)

Taustaa. CGI-ohjelmointi

Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen

Lab A1.FARM_Hyper-V.v3

MY STANDARD -OHJE. mystandard.hansaworld.com. Standard ERP Pilvipalvelu Sivu 1/6

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat. Protokollien kerrosrakenne. Mitä monimutkaisuutta?

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Action Request System

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

GroupWise Calendar Publishing Host User

Tikon Web-sovellukset

2. Sovelluksia ja sovellusprotokollia

Autentikoivan lähtevän postin palvelimen asetukset

EASY Tiedostopalvelin - mobiilin käyttöopas

Web Service torilla tavataan!

2.2. Sähköposti. SMTP (Simple Mail Transfer Protocol) Postipalvelimet käyttävät SMTPprotokollaa. TCP-yhteys on pysyvä

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

Transkriptio:

Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Sovelluskerros (1/3) 1 Sovelluskerros Tavoite: Tutustua verkkosovellusten protokollien käsitteisiin ja toteutusnäkökulmiin: kuljetuskerroksen palvelumallit asiakas-palvelinmalli vertaisverkkomalli Opiskellaan protokollia tutkimalla yleisimpiä sovelluskerroksen protokollia: HTTP FTP SMTP / POP3 / IMAP DNS Sovelluskerros (1/3) 2 1

Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros (1/3) 3 Joitain verkkosovelluksia sähköposti WWW pikaviestimet etäkäyttö P2P tiedostojen jako verkkopelit suoratoisto (streaming) Internet-puhelut reaaliaikaiset etäneuvottelut massiivinen rinnakkaislaskenta Sovelluskerros (1/3) 4 2

Verkkosovelluksen luominen Kirjoitetaan ohjelma, joka toimii eri päätelaitteissa kommunikoi verkon yli esim. WWW-palvelimen ohjelmisto kommunikoi selainohjelmiston kanssa Verkon rungon laitteisiin ei kirjoiteta sovellusohjelmia rungon laitteet eivät toimi sovelluskerroksella tämä mahdollistaa nopean sovellussuunnittelun application transport network data link physical application transport network data link physical application transport network data link physical Sovelluskerros (1/3) 5 Sovellusarkkitehtuurit Asiakas-palvelin (client-server) Vertaisverkko (peer-to-peer, P2P) Asiakas-palvelin- ja vertaisverkkoarkkitehtuurien yhdistelmä (hybrid) Sovelluskerros (1/3) 6 3

Asiakas-palvelin-arkkitehtuuri Palvelin: päätelaite aina päällä pysyvä IP-osoite palvelinfarmeja skaalautuvuuteen Asiakkaat: kommunikoivat palvelimen kanssa voivat olla yhteydessä verkkoon epäsäännöllisesti IP-osoite voi olla dynaaminen eivät kommunikoi suoraan toistensa kanssa Sovelluskerros (1/3) 7 Puhdas P2P-arkkitehtuuri Ei aina päällä olevaa palvelinta Mitkä tahansa päätelaitteet kommunikoivat suoraan keskenään Vertaiskumppanit (peers) ovat epäsäännöllisesti yhteydessä verkkoon ja niiden IP-osoitteet muuttuvat Esim. Gnutella, Kazaa/FastTrack Helposti skaalautuva Mutta hankala hallinnoida Sovelluskerros (1/3) 8 4

Asiakas-palvelin- ja P2Parkkitehtuurien yhdistelmä Napster tiedostojen siirtoon P2P tiedostojen etsintä keskitetty: sisältö rekisteröidään keskuspalvelimelle sisällön sijainti selvitetään keskuspalvelimelta Pikaviestimet (instant messaging) kahden käyttäjän väliseen keskusteluun P2P sijainnit ja läsnäolotiedot keskitetty: käyttäjä rekisteröi IP-osoitteensa keskuspalvelimelle kytkeytyessään verkkoon keskuspalvelimelta kysytään muiden käyttäjien IP-osoitteet Sovelluskerros (1/3) 9 Prosessien kommunikointi Prosessi: päätelaitteessa toiminnassa oleva ohjelma samassa päätelaitteessa kaksi prosessia kommunikoivat käyttäen prosessien välistä kommunikointia (käyttöjärjestelmän määrittelemä) eri päätelaitteissa sijaitsevat prosessit kommunikoivat vaihtamalla viestejä Asiakasprosessi: prosessi, joka aloittaa kommunikoinnin Palvelinprosessi: prosessi, joka odottaa yhteydenottoa Huom: P2Parkkitehtuurin mukaisissa sovelluksissa on sekä asiakas- että palvelinprosessit Sovelluskerros (1/3) 10 5

Soketit (sockets) Prosessi lähettää ja vastaanottaa viestejä sokettinsa välityksellä Soketti vastaa ovea: lähettävä prosessi työntää viestin ulos ovesta lähettävä prosessi luottaa kuljetusinfrastruktuurin oven toisella puolella kuljettavan viestin vastaanottavan prosessin soketille Ohjelmointirajapinta (API): valitaan kuljetusprotokolla host or server process socket TCP with buffers, variables voidaan määritellä joitain parametreja controlled by app developer controlled by OS Internet host or server process socket TCP with buffers, variables Sovelluskerros (1/3) 11 Prosessien osoitteet Jotta prosessi voi vastaanottaa viestejä, sillä täytyy olla tunniste Päätelaitteella on yksikäsitteinen 32 bittinen IP-osoite Q: Riittääkö päätelaitteen IP-osoite tunnistamaan prosessin? A: Ei, koska samassa päätelaitteessa voi olla toiminnassa monta prosessia samanaikaisesti Tunniste sisältää sekä IP-osoitteen että porttinumeron, joka liittyy prosessiin kyseisessä päätelaitteessa Esimerkkejä porttinumeroista: HTTP-palvelin: 80 sähköpostipalvelin: 25 Sovelluskerros (1/3) 12 6

Sovelluskerroksen protokollat Minkälaisia viestejä vaihdetaan: esim. request- ja responseviestit Viestien syntaksi: mitä kenttiä viestissä on, miten kentät kuvataan Kenttien semantiikka: kenttien merkitys Säännöt sille milloin ja miten prosessit lähettävät viestejä ja vastaavat viesteihin Julkisia protokollia: määritellään RFC:ssä mahdollistaa yhteentoimivuuden esim. HTTP, SMTP Yksityisiä (proprietary) protokollia: esim. Skype, Kazaa/FastTrack Sovelluskerros (1/3) 13 Mitä kuljetuspalveluita sovellus tarvitsee? Tiedon häviäminen jotkut sovellukset (esim. äänen tai puheen siirtäminen) sietävät jonkin verran häviöitä monet sovellukset (esim. tiedostonsiirto, telnet) vaativat 100% luotettavan yhteyden Ajoitus jotkut sovellukset (esim. Internet-puhelut, interaktiiviset pelit) vaativat pienen viiveen toimiakseen tehokkaasti Kaistanleveys jotkut sovellukset (esim. multimedia) vaativat minimikaistanleveyden toimiakseen tehokkaasti monet sovellukset ( joustavat sovellukset ) käyttävät kaiken saamansa kaistanleveyden Sovelluskerros (1/3) 14 7

Kuljetuspalvelun vaatimukset yleisimmille sovelluksille Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no Sovelluskerros (1/3) 15 Internetin kuljetusprotokollien palvelut TCP-palvelu: yhteydellinen: asiakas- ja palvelinprosessien välillä vaaditaan yhteyden alustus luotettava tiedonsiirto lähettävän ja vastaanottavan prosessin välillä vuonvalvonta: lähettäjä ei tukahduta vastaanottajaa ruuhkanhallinta: lähettäjä hidastaa lähetysnopeutta, kun verkko ruuhkaantuu ei tarjoa: takeita ajoitukselle tai minimikaistanleveydelle UDP-palvelu: yhteydetön, epäluotettava tiedonsiirto lähettävän ja vastaanottavan prosessin välillä ei tarjoa: yhteyden muodostusta, luotettavuutta, vuonvalvontaa, ruuhkanhallintaa, takeita ajoitukselle tai minimikaistanleveydelle Q: Onko mitään hyötyä? Miksi UDP on olemassa? Sovelluskerros (1/3) 16 8

Internet-sovellukset: sovellus- ja kuljetusprotokollat Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g., RealNetworks) proprietary (e.g., Skype) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP (maybe TCP for handshaking) Sovelluskerros (1/3) 17 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros (1/3) 18 9

WWW ja HTTP Ensin hieman termejä WWW-sivu koostuu objekteista Objekti voi olla HTML-tiedosto, JPEG-kuva, Javasovelma (appletti), äänitiedosto, WWW-sivu sisältää perus HTML-tiedoston, jossa voidaan viitata muihin objekteihin Jokaisella objektilla on URL-osoite Esimerkki URL: www.someschool.edu/somedept/pic.gif laitenimi polkunimi Sovelluskerros (1/3) 19 HTTP: yleiskatsaus HTTP: hypertext transfer protocol WWW:n sovelluskerroksen protokolla asiakas-palvelin-malli asiakas: selain, joka pyytää, vastaanottaa ja esittää WWWobjekteja palvelin: WWW-palvelin lähettää objekteja vastauksena pyyntöihin HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 PC running Explorer Mac running Navigator Server running Apache Web server Sovelluskerros (1/3) 20 10

HTTP: yleiskatsaus Käyttää TCP:tä kuljetuskerroksella: asiakas aloittaa TCPyhteyden (luo soketin) palvelimeen, porttiin 80 palvelin hyväksyy asiakkaan TCP-yhteyden HTTP-viestejä (sovelluskerroksen protokolla-viestejä) vaihdetaan selaimen (HTTPasiakas) ja WWW-palvelimen (HTTP-palvelin) välillä TCP-yhteys suljetaan HTTP on tilaton palvelin ei säilytä mitään tietoja asiakkaan aikaisemmista pyynnöistä Tilatietoja ylläpitävät protokollat ovat monimutkaisia! aikaisempi historia (tila) täytyy säilyttää jos palvelin tai asiakas kaatuu, niiden näkemys tilasta voi olla erilainen, vaatii yhteensovittamista Sovelluskerros (1/3) 21 HTTP-yhteydet Nonpersistent HTTP Enintään yksi objekti lähetetään yhden TCPyhteyden yli HTTP/1.0 käyttää nonpersistentyhteyksiä Persistent HTTP Useita objekteja voidaan lähettää saman TCP-yhteyden yli HTTP/1.1 käyttää oletuksena persistentyhteyksiä Sovelluskerros (1/3) 22 11

Nonpersistent HTTP Oletetaan, että käyttäjä kirjoittaa URL:n www.someschool.edu/somedepartment/home.index (sisältää tekstiä, viittaukset 10 jpeg-kuvaan) aika 1a. HTTP-asiakas aloittaa TCPyhteyden HTTP-palvelimeen (prosessiin) päätelaitteen www.someschool.edu portissa 80 2. HTTP-asiakas lähettää HTTP request-viestin (sisältää URL:n) TCP-yhteyden sokettiinsa; viesti ilmaisee, että asiakas haluaa objektin somedepartment/home.index 1b. HTTP-palvelin päätelaitteessa www.someschool.edu odottaa TCP-yhteyttä portissa 80; hyväksyy yhteyden, ilmoittaa asiakkaalle 3. HTTP-palvelin vastaanottaa request-viestin, muodostaa response-viestin, joka sisältää pyydetyn objektin ja lähettää viestin sokettiinsa Sovelluskerros (1/3) 23 Nonpersistent HTTP (jatkuu) aika 5. HTTP-asiakas vastaanottaa response-viestin, joka sisältää html-tiedoston ja esittää sen selaimessa; jäsentäessään html-tiedostoa löytää 10 viittausta jpeg-objekteihin 6. Askeleet 1-5 toistetaan jokaiselle 10 jpeg-objektille 4. HTTP-palvelin sulkee TCPyhteyden Sovelluskerros (1/3) 24 12

Vasteajan mallinnus RRT (round-trip time): aika, joka kuluu pienen paketin matkaan asiakkaalta palvelimelle ja takaisin Vasteaika: yksi RTT menee TCP-yhteyden avaamiseen yksi RTT menee HTTP-pyynnön lähettämiseen sekä HTTPvastauksen ja tiedoston ensimmäisten tavujen vastaanottamiseen transmit time: tiedoston lähettämiseen kuluva aika total = 2RTT+transmit time initiate TCP connection RTT request file RTT file received time time time to transmit file Sovelluskerros (1/3) 25 Persistent HTTP Nonpersistent HTTP vaatii 2 RTT:tä per objekti käyttöjärjestelmän täytyy jakaa resursseja jokaiselle TCP-yhteydelle mutta selain usein avaa rinnakkaisia TCP-yhteyksiä hakeakseen viitattuja objekteja Persistent HTTP palvelin jättää yhteyden auki lähetettyään pyynnön seuraavat HTTP-viestit saman asiakkaan ja palvelimen välillä lähetetään saman yhteyden yli Persistent without pipelining: asiakas lähettää uuden pyynnön vasta sitten kun edellinen vastaus on vastaanotettu yksi RTT per viitattu objekti Persistent with pipelining: oletus HTTP/1.1:ssä asiakas lähettää pyynnön heti kun se huomaa viitatun objektin vain yksi RTT kaikille viitatuille objekteille Sovelluskerros (1/3) 26 13

HTTP request-viesti HTTP-viestit: ASCII (ihmisen luettavissa) kaksi HTTP-viestityyppiä: request, response request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language: fr Carriage return and line feed indicates end of message (extra carriage return and line feed) Sovelluskerros (1/3) 27 HTTP request-viesti: yleinen muoto Sovelluskerros (1/3) 28 14

Lomakkeen sisällön lataaminen POST-metodi: WWW-sivuilla on usein lomakkeita, joihin syötetään tietoja syötetyt tiedot ladataan palvelimelle request-viestin entity body -kentässä URL-metodi: käyttää GET-metodia syötetyt tiedot ladataan palvelimelle request-viestin URL-kentässä: www.somesite.com/animalsearch?monkeys&banana Sovelluskerros (1/3) 29 Metodityypit HTTP/1.0 GET POST HEAD pyytää palvelinta jättämään pyydetyn objektin pois vastauksesta HTTP/1.1 GET, POST, HEAD PUT lataa entity body kentässä annetun tiedoston URL-kentässä määriteltyyn paikkaan DELETE tuhoaa URL-kentässä määritellyn tiedoston Sovelluskerros (1/3) 30 15

HTTP response-viesti status line (protocol, status code, status phrase) data, e.g., requested HTML file header lines HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data... Sovelluskerros (1/3) 31 HTTP response-viestin tilakoodit Ensimmäisellä rivillä response-viestissä Joitain esimerkkejä: 200 OK pyyntö onnistui, pyydetty objekti on tässä viestissä 301 Moved Permanently pyydetty objekti siirretty, uusi sijainti ilmoitetaan tässä viestissä (otsikko Location:) 400 Bad Request palvelin ei ymmärtänyt pyyntöä 404 Not Found pyydettyä dokumenttia ei löydy tältä palvelimelta 505 HTTP Version Not Supported Sovelluskerros (1/3) 32 16

Kokeile itse HTTP-protokollaa 1. Ota Telnet-yhteys johonkin WWW-palvelimeen: telnet users.jyu.fi 80 Avaa TCP-yhteyden palvelimen porttiin 80 (HTTP-palvelimen oletusportti); kaikki mitä kirjoitetaan, lähetetään samaan porttiin 2. Kirjoita GET HTTP-viesti: GET /~mannikko/tietoverkot/ HTTP/1.1 Host: users.jyu.fi Kirjoittamalla tämän (paina lopuksi Enteriä kahdesti) lähetät lyhyen mutta täydellisen GET-pyynnön HTTP-palvelimelle 3. Tutki HTTP-palvelimen lähettämää vastausta Sovelluskerros (1/3) 33 Käyttäjä-palvelin-tila: evästeet Monet WWW-sivustot käyttävät evästeitä Neljä komponenttia: 1) cookie-otsikkorivi HTTP response-viestissä 2) cookie-otsikkorivi HTTP request-viestissä 3) cookie-tiedosto säilytetään käyttäjän koneella ja sitä hallinnoi käyttäjän selain 4) tietokanta WWWpalvelimella Esimerkki: Olet yhteydessä Internetiin aina samalta koneelta Vierailet jonkin verkkokaupan sivulla ensimmäistä kertaa Kun HTTP-pyyntö saapuu palvelimelle, luodaan yksikäsitteinen tunnus ja tallennetaan tiedot tietokantaan Seuraavilla vierailuilla palvelin tunnistaa sinut tunnuksen perusteella Sovelluskerros (1/3) 34 17

Evästeet: tilatietojen säilyttäminen Cookie file ebay: 8734 client usual http request msg usual http response + Set-cookie: 1678 server server creates ID 1678 for user Cookie file amazon: 1678 ebay: 8734 one week later: Cookie file amazon: 1678 ebay: 8734 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg cookiespecific action cookiespectific action Sovelluskerros (1/3) 35 Evästeet Evästeet mahdollistavat: käyttövaltuutus ostoskorit suosittelut käyttäjän istunnon tila (WWW-pohjainen sähköposti) Evästeet ja yksityisyys: evästeiden avulla sivustot keräävät tietoja käyttäjistä annat nimesi ja sähköpostiosoitteesi sivustolle hakukoneet käyttävät uudelleensuuntausta ja evästeitä lisätiedon keräämiseen mainostajat saavat tietoa sivustoilta Sovelluskerros (1/3) 36 18