Johdatus Internetteknologioihin 2 KALVOSARJA HTTP SERVERCLIENT Palvelimen ja
- Slides: 14
Johdatus Internetteknologioihin 2. KALVOSARJA: HTTP, SERVER-CLIENT
Palvelimen ja selaimen yhteistyö Internet toimii Client-Server -periaatteella eli asiakkaan ja palvelimen välillä ei ole jatkuvaa tietoliikenneyhteyttä, vaan yhteys muodostetaan tiedonsiirron ajaksi. Tiedon siirryttyä yhteys puretaan. Poikkeuksena edelliseen reaaliaikaiset sovellukset, jotka pitävät yhteyden kunnes se katkaistaan. (TCP -> joka on eri kerroksella) Yhteistyö perustuu pyyntöihin ja vastauksiin. Asiakas on aloittava osapuoli ja lähettää pyynnön, palvelimen tehtävä on reagoida asiakkaan pyyntöihin.
Client? Yleensä selain On muitakin vaihtoehtoja Myös komentoja (ohjelmia): linuxissa curl ja wget yms. .
Palvelin Laite joka tarjoaa resursseja/palveluja Voi koostua useamman laitteen yhteistyöstä, mikä ei näy käyttäjälle Usein monistettu, jotta kestää ruuhkat Voi sijaita fyysisesti eri paikoissa Voi olla sijaintikohtainen Usein jollain ohjelmistolla tarjotaan sivut, sitten lisäksi on tietokantaa, ehkä login palvelua yms. jotka toimivat yhdessä. Nämäkään asiat ei näy yleensä loppukäyttäjälle
Esimerkki palvelin Contriboard
Mitä kaikkea siellä välissä on? Usein käyttäjiä ei kiinnosta mitä kautta paketti kulkee, jotkut jopa luulevat että omalta koneelta on suora yhteys palvelimeen Täytyy muistaa että Internet kuitenkin rakentuu kytkimistä, reitittimistä yms. . Joiden kautta liikenne kulkee, eli liikenne menee suoraa palvelimelle vain jos se on kiinni koneessasi! Tutkitaan asioita tracert käskyllä, esim tracert google. com Kaikki komponentit eivät näy myöskään tracert käskyllä, sillä se näyttää vain ”verkon vaihtumiset”. Joidenkin hyppyjen näkyminen on estetty servereistä. Välityspalvelimet Sovelluksia kehittäessä näitä välissä olevia laitteita ei pakosta tarvitse huomioida, vaan yhteyden voidaan ajatella muodostuvan suoraan.
HTTP Yleisin Internetin tiedonsiirron määrittävä protokolla Useita metodeja: Yleisin GET - jolla haetaan resurssia POST - esim. lähettämään tietoja palveluun Pyynnössä mukana BODY, ja kaikissa HEADERS Muita mm. OPTIONS, HEAD, PUT, DELETE, TRACE ja CONNECT Varattu portti 80, myös 8080 harvemmin käytetty. Tehtävä: selvitä montako porttia on ja kuinka ne on jaettu?
Get-pyyntö Referer -> kertoo mistä sivulle päädyttiin Selain/asiakasohjelma kertoo nimensä ja versionsa Kerrotaan myös millaisia tiedostoja selain osaa käsitellä yms. Teknisiä tietoja. Selain voi kertoa myös halutun kielen Selaimista voidaan estää tietojen antoa, mutta se voi johtaa ongelmatilanteisiin
Pyyntö(Request): HTTP (get) GET /wiki/HTTP/1. 1 Host: fi. wikipedia. org User-Agent: Mozilla/5. 0 (Windows; U; Windows NT 5. 1; fi-FI; rv: 1. 6) Gecko/20040206 Firefox/0. 8 Accept: application/x-shockwaveflash, text/xml, application/xhtml+xml, text/html; q=0. 9, text/pla in; q=0. 8, video/x-mng, image/png, image/jpeg, image/gif; q=0. 2, */*; q=0. 1 Accept-Language: fi, en; q=0. 7, en-us; q=0. 3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859 -1, utf-8; q=0. 7, *; q=0. 7 Keep-Alive: 300 Proxy. Connection: keep-alive Referer: http: //fi. wikipedia. org/w/wiki. phtml? title=HTTP Cache-Control: max-age=0
Vastaus(Response): HTTP (response) HTTP/1. 1 200 OK Date: Tue, 06 Jul 2004 17: 59: 22 GMT Expires: Thu, 01 Jan 1970 00: 00 GMT Cache-Control: private, must-revalidate Via: 1. 0 cthulhu Server: Apache/1. 3. 29 (Unix) PHP/4. 3. 4 X-Powered-By: PHP/4. 3. 4 Set-Cookie: fiwiki. Session=a 8015 bd 32 eee 4 e 5 bd 46 fd 83 aea 40 f 159; path=/ Vary: Accept-Encoding, Cookie Content-Language: fi Content-Type: text/html; charset=utf-8 X-Cache: MISS from wikipedia. org Transfer. Encoding: chunked Connection: keep-alive
Edellisten todentaminen/tutkiminen Firefoxilla : F 12 -> network Mennään www. wikipedia. fi, pitäisi näkyä GET viesti Response välilehdellä pitäisi näkyä pyyntöön vastaus Tehtävä: Mene samalle sivulle, kun kuuntelet liikennettä Wiresharkilla Pystytkö näkemään get pyynnön wiresharkissa? Mitä eroa on wiresharkin ja selaimen F 12 tiedoissa?
Vastauskoodit Onko jollekin joskus tullut vastaan 404? Selvitetään mitä muita koodeja on olemassa Jotkin palvelimet käyttää automaattisesti vastauskoodeja, mutta kannattaa muistaa että ne voidaan ohjelmoida käsin. Eli niihinkään ei voi täysin luottaa. Valmiit palvelinohjelmistot sisältävät usein valmiit vastauskoodit eri tilanteisiin. Esim. Apache
Tilaton vai tilallinen? HTTP on normaalisti tilaton Samalla pyynnöllä aina sama tulos Mitään tietoa ei talleteta Selain ei siis pystyisi hallitsemaan esim. sisäänkirjautumisia, tunnuksia jne. . Istunnot Tilapäistiedostot (palvelimella), evästeet, istuntomuuttujat (kielissä) Evästeet (Cookie) Palvelin asettaa clientille evästeen, sekä itselleen tiedot joilla pidetään muistissa istuntoon liittyvä tieto.
Palvelinten vaaroja Ohjelmalla samat oikeudet kuin käyttäjätunnuksella -> Pääsy tiedostoihin Voi poistaa, lisätä, muokata, suorittaa Ohjelman kautta voidaan kutsua mitä tahansa ohjelmaa Jos yhdellä koneella on useampi ohjelma, huonosti tehty ohjelma voi viedä resurssit kaikilta. Palvelin voidaan kaapata Liikenne voidaan ohjata väärälle palvelimelle Voitko luottaa palvelimeen?
- Idea johdatus filosofiaan
- Spatiaalinen kognitio
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Siat.ung.ac.id krs
- Www.digital gujarat
- Http://xnx
- Www-medellin-gov-co
- Iec
- Http://www.ptable.com
- Http://sciencespot.net/
- Http://solarsystem.nasa.gov/planets
- Www encyclopedia com
- Flower basics
- Www.zoo.gov.tw
- Images.google.com.tr