Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

HTTP (c) Reino Aarinen, 2012. HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen.

Samankaltaiset esitykset


Esitys aiheesta: "HTTP (c) Reino Aarinen, 2012. HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen."— Esityksen transkriptio:

1 HTTP (c) Reino Aarinen, 2012

2 HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen (site) lisäksi myös Web sovellusten (applications) ja Web palveluiden (Web Services) kanssa. HTTP määrittelee pyynnöt (request) joita asiakas voi lähettää palvelimelle ja vastaukset (response), joita palvelin voi lähettää takaisin. Jokainen pyyntö sisältää URL:n, joka on määrämuotoinen merkkijono. Merkkijono määrittelee (identifioi) Web komponentin (servlet, JSP- tai PHP- sivu, Web Service endpoint) tai staattisen objektin, kuten HTML-sivun tai kuvatiedoston, appletin, flash- tai shockwave elokuvan jne.URL:n Sovelluspalvelin (JavaEE tai PHP) muuntaa HTTP pyynnön (request) automaattisesti HttpRequest objektiksi tai $_GET/$POST taulukosi ja toimittaa sen Web komponentille, joka on identifioitu pyynnön URL:ssä.URL:ssä Web komponentti täyttää tiedot HttpResponse -objektiin ja/tai suoraan HTML-tekstivirtaan, jonka palvelin lähettää asiakkaalle.

3 HTTP request ja response HTTP protokolla (Hypertext Transfer Protocol, http://www.ietf.org/rfc/rfc2616.txt ) ei välttämättä ole paras mahdollinen WWW-protokolla, mutta se on hyvin laajassa käytössä, yksinkertainen ja toimiva. http://www.ietf.org/rfc/rfc2616.txt HTTP on tilaton. Asiakas lähettää pyynnön (request) ja palvelin vastaa (response), ja sulkee yhteyden. Pyyntö ja vastaus ovat yleistä muotoa: 1. alustus- tai statusrivi 2. otsikkorivi1:arvo1 3.... 4. otsikkorivin:arvon 5. tyhjä rivi 6. mahdollinen viestirunko

4 request alustusrivi Pyynnössä (URL) alustusrivillä on kolme osaa, jotka erotetaan toisistaan välilyönnillä. Ensin on metodi (yleensä GET tai POST), sitten resurssin lokaali polku palvelimella ja viimeksi HTTP-versio. Esim. GET /palvelu/index.html HTTP/1.0 GET -metodia (vanhin) käytettäessä parametrit siirretään nimi=arvo -pareina polkumäärittelyn jatkona: ?tunnus=reiska&salasana=qwerty POST -metodissa parametrit siirretään HTTP-viestin rungossa, jolloin voidaan siirtää myös isompi parametrijoukko, tai vaikka binääritiedosto GET metodi on idempotent, turvallinen. Muita harvemmin käytettyjä metodeja ovat PUT, DELETE, OPTIONS, TRACE ja HEAD.

5 response statusrivi Vastauksessa (response) alustusrivi (eli statusrivi) koostuu kolmesta välilyönnein toisistaan erotetusta osasta: HTTP:n versio, vastauksen statuskoodi ja lyhyt selite. Esim. HTTP/1.0 404 Not found Statuskoodi on tarkoitettu tietokoneelle. Se on kolminumeroinen: 1xx Informatiiviset viestit 2xx Onnistuneet kuittaukset. Yleensä 200 OK. 3xx Uudellenohjaus toisiin URLeihin 4xx Virhe selainpäässä. Useimmiten 401, eli vaatii autentikoinnin tai 404, resurssi ei löydy. 5xx Virhe palvelinpäässä.

6 otsikkorivit Otsikkorivit tarjoavat tietoa joko palvelupyynnöstä tai vastauksesta ja mahdollisesti myös objektista, joka viestirungossa on mukana. Otsikkorivit ovat tekstirivejä, yksi otsikko:arvo CRLF kullakin rivillä. HTTP/1.0 määrittelee 16 otsikkoriviä, joista mikään ei ole pakollinen. HTTP/1.1 otsikkorivejä on 46, joista palvelupyynnöissä vain Host: on pakollinen. Esimerkki seuraavalla sivulla. Muita: Content-Type:text/html;charset=utf-8 Content-Length:256 Last-Modified: request User-Agent: Host: localhost:8080 Set-Cookie: Date: response Server: Apache-Coyote/1.1

7 viestirunko Mahdollinen HTTP viestirunko erotetaan otsikkotiedoista tyhjällä rivillä. TYHJÄ RIVI ON PAKOLLINEN. Yleensä viestirunko täytetään vastauksen yhteydessä HTML- tai XML-koodilla (esim. WWW-sivu tai SOAP- viesti edellä). Viestirungossa voi olla myös binääritietoa, jonka tyyppi määritellään otsikossa Content-Type : MIME-tyyppi. Samoin Content-Length: pituus tavuina Binääritieto voi olla esim. kuva (esim. image/gif ), audio- tai videoklippi ( audio/..., video/...), appletti, flash- tai shockwave-esitys, streaming dataa jne. Viestirungon pituudella ei ole ylärajaa.

8 telnet localhost 8080 GET /index.html HTTP/1.1 (tyhjä rivi)

9 TCPMON (c) Reino Aarinen, 2012

10 tcpmon 1.1 Avoimen lähdekoodin TCP yhteyksien monitorointiohjelma. Se sijoitetaan asiakkaan ja palvelimen väliin, jolloin liikenne kulkee tcpmon ohjelman kautta ja voidaan ottaa näkyviin. Imuroitava versio löytyy osoitteesta https://tcpmon.dev.java.net. Ohjelma käynnistetään yksinkertaisesti tuplaklikkaamalla.https://tcpmon.dev.java.net Jos asiakaskoneeseen on asennettu Java Web Start, ohjelman voi ajaa myös suoraan verkosta: https://tcpmon.dev.java.net/tcpmon.jnlp https://tcpmon.dev.java.net/tcpmon.jnlp Jos käytät sovelluspalvelinta (esim. Tomcat) portissa 8080, aseta Local Port 80 ja Server Port 8080. Selaa osoitteeseen http://localhost/index.html. P.S. Tavallisella WWW-palvelimella, joka on portissa 80, asetukset ovat juuri päinvastoin (oletus). http://localhost/index.html

11

12

13

14 SOAP-request ja SOAP-response

15 JavaEE (c) Reino Aarinen, 2012

16 Web komponentit: - Servletit, Filterit - JSP’s (JavaServer Pages), JSTL, JSF - Web Service Endpoints Palvelin

17 JavaEE Teknologiat

18 Tomcat 7.0.2 käynnistys. Pysäytys komennolla %CATALINA_HOME%\bin\ shutdown


Lataa ppt "HTTP (c) Reino Aarinen, 2012. HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen."

Samankaltaiset esitykset


Iklan oleh Google