HTTP-välityspalvelimen käyttö tapahtumien keräämiseen Tero Tähtinen Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio Diplomityöesitelmä 29.11.2004 1
Johdanto Diplomityössä toteutettiin HTTP-välityspalvelin, jonka avulla tietoa eri WWW-palveluiden käytöstä voidaan tallentaa Tapahtumien keräämistä WWW-palveluista voidaan hyödyntää monella eri alueella, kuten: Sovellustestauksessa Tilastoinnissa Käytettävyystestauksessa Diplomityössä jouduttiin selvittämään tapahtumien keräämiseen liittyviä ongelmia, kuten: Miten tietyn käyttäjän tapahtumat kyetään yksilöimään kerätystä tiedosta Miten ohitetaan erityyppiset välimuistien käyttö joka estää tapahtumien keräämisen Mitä tietoja kerätään ylipäätään tulisi kerätä Kerätyn tiedon analysointi 29.11.2004 2
Taustaa - HTTP HTTP-protokolla on tyyppiesimerkki asiakas-palvelin arkkitehtuuria käyttävästä tiedonsiirtoprotokollasta Selain tekee palvelupyynnön palvelimelle, joka palauttaa vastauksen HTTP-viestit (palvelupyynnöt ja vastaukset) koostuvat otsikko- sekä sisältöosasta Otsikoissa siirtyvät tiedot sisältöosan sisällöstä sekä tietoja selaimelle ja palvelimelle Sisältöosassa siirtyvät HTML-sivut selaimelle näytettäväksi sekä lomaketiedot palvelimelle käsittelyä varten HTTP-protokolla määrittää miten tiedot selaimelta palvelimelle tulee välittää Yhtenäinen tapa WWW-pohjaisten sovellusten kesken. Tämän avulla voidaan kerätä materiaalia useista eri tyyppisistä palveluista 29.11.2004 3
Eri menetelmät tapahtumien keräämiseen
Eri keräysmenetelmät 1/2 Loki-pohjainen Kaikki palvelinohjelmistot tukevat menetelmää Selainriippumaton Ei yksilöi käyttäjää Eväste- ja JavaScript pohjainen Asennettava osaksi sivun HTML-koodia Kykenee yksilöimään käyttäjän tarkasti ja mahdollistaa pitkäaikaisen seurannan Tarjoaa tarkempia tietoja käyttäjän koneesta Vaatii tuen JavaScriptille 29.11.2004 5
Eri keräysmenetelmät 2/2 Referer-viittauksiin perustuva Selaimen välittämä tieto palvelimelle edellisestä sivusta Käyttäjän liikkeiden seuranta sivustolla Tietoa tapahtumista muilla sivustoilla Ei yksilöi käyttäjää Asiakaspäässä tapahtuva tiedonkeräys Eleiden ja perustelujen taltioiminen Kerätyn tiedon indeksointi työlästä (videomateriaali) HTTP-välityspalvelin Toimii selaimen ja palvelimen välillä Tästä tarkemmin hieman myöhemmin esityksessä 29.11.2004 6
Ongelmakohdat
Välimuistit 1/2 Haettua resurssia ei aina ladata suoraan palvelimelta Selaimet Välityspalvelimet Aiheuttaa ongelmia tapahtumien keräämisessä Kaikkea tietoa ei voida tallentaa 29.11.2004 8
Välimuistit 2/2 29.11.2004 9
Käyttäjän yksilöiminen 1/2 Käyttäjän yksilöiminen tarkoittaa mahdollisuutta ryhmitellä kerättyjä tietoja käyttäjäkohtaisesti Yksilöiminen voidaan suorittaa seuraavien tietojen perusteella IP-osoite (yksilöi tietyn verkkokortin) Kirjautuminen (tarkka yksilöiminen) Evästeet (yksilöivä tunniste) Välimuistimenetelmä 29.11.2004 10
Käyttäjän yksilöiminen 2/2 29.11.2004 11
Toteutettu HTTP-välityspalvelin HTTP/1.1 määrityksen (RFC 2616) mukainen toteutus Toteuttaa määrityksessä välityspalvelimelle annetut vaatimukset Voi muuttaa sekä vastauksen otsikkotietoja että sisältöä (HTML-sivua, kuvaa yms) Tästä johtuen on voitu toteuttaa välityspalvelimeen tiedon keräystä helpottavia toimintoja, jotka käyttävät muiden tapahtumien keräysmenetelmien parhaita puolia Kerättyyn tietoon luotiin rajapinta Rajapinnan avulla kerättyä tietoa voidaan analysoida ulkopuolisissa sovelluksissa 29.11.2004 12
Käytettävyystutkimus Salomaa-yhtiöiden projektinhallintajärjestelmä Käytettävyystesteihin osallistui yhteensä 5 henkilöä, joista kahden testit videoitiin Testitehtävät liittyivät tiedon etsimiseen, tallentamiseen sekä muokkaamiseen Testin käyttöä tallennettiin muistiinpanovälineiden, videokameran sekä toteutetun välityspalvelimen avulla 29.11.2004 13
Tulosten indeksointi Tuloksien indeksointia varten toteutettiin tiedon analysointirajapintaan sovellus Mahdollistaa videon indeksoinin kytkemisen osaksi välityspalvelimen keräämiä tietoja Esimerkki 29.11.2004 14
Kysymyksiä? Yhteystiedot: Tero Tähtinen tero.tahtinen@kateetti.fi 040-5297706 http://www.tahtinen.net/tero/ 29.11.2004 15
Lähteet mm. RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 http://www.faqs.org/rfcs/rfc2616.html Viitattu 28.11.2004 Web Intermediaries (WBI) http://www.almaden.ibm.com/cs/wbi/ Viitattu 28.11.2004 Kattava lähdeluettelo diplomityön lopussa 29.11.2004 16