Mitä ovat web-istunnot ? – ELI5

Kuvan on ottanut Markus Spiske on Unsplash

Spoilerivaroitus – Jos odotat oppivasi, millä metodilla sessio haetaan ja mikä on getAttribute-menetelmä, niin silloin tämä ei ole oikea paikka. Jos haluat oppia koodausta sessioista, suuntaa muille verkkosivustoille. Täällä ymmärrät, mikä on istunto ja miten se toimii. Ja jos olet ammattilainen, voit jättää tämän blogin huomiotta, koska se ei tarjoa sinulle mitään.

Minulla oli istuntoihin liittyvä vika sovelluksessa, jonka parissa työskentelin, ja saadakseni epäilykseni päätökseen ja korjatakseni sen minun oli opittava A:sta Z:hen istunnoista ja ymmärrettävä se. Asiaan… ja vielä yksi asia ELI5 tarkoittaa Explain Like I am 5.

Meidän on tiedettävä, mikä on HTTP-pyyntö ennen kuin menemme istuntoon. HTTP Request on pyyntö, jonka selain lähettää palvelimelle.

Mikä on pyyntö? Ei mitään, mutta haluan tämän voisitko antaa sen minulle

Mikä on pyyntö?(Ohjelmiston termit) Selain käyttää HTTP:tä lähettääkseen dataa ja palvelin ottaa datan vastaan ja vastaa pyyntöön antaakseen sen mitä selain haluaa.

Mitä data tässä on? Miltä data näyttää? Pyyntödata on tavallinen tekstidokumentti, joka on jäsennetty tietoliikenneprotokollan määrittelemällä tarkalla tavalla. Siinä on 3 osaa line,header ja body. HTTP-pyyntöjä on myös useita eri tyyppejä. Voit googlettaa tästä lisää.

Palataan nyt takaisin ensimmäiseen riviin: ”HTTP Request on pyyntö, jonka selaimesi lähettää palvelimelle.”

Mikä on palvelin? Palvelin voi olla yksinkertainen tietokoneohjelma tai se voi olla laite, joka on olemassa täyttääkseen pyyntösi. Miten se täyttää? Siinä on käynnissä sovellus, joka toimii pyyntösi perusteella ja antaa vastauksen selaimelle . Miltä palvelin näyttää? Siinä on kaikki mitä tietokoneessasi on emolevyjä,mikroprosessoreita, verkkoportteja , verkkoyhteyksiä ja monia muita.

Oikea aika ymmärtää mikä on istunto?

Yritetään nyt olettaa, että ohjelmistomaailmassa ei ole istuntoa. Ja tässä vaiheessa selaat Facebookia. Olet juuri kirjautunut sisään ja näet etusivusi. Jonkin ajan kuluttua napsautit ystäväsi sivua, mutta ennen kuin se näyttää sinulle pyydetyn sivun, se pyytää sinua kirjautumaan uudelleen. Miksi se pyysi kirjautumaan sisään? Koska palvelimella ei ole tietoa siitä, kuka käyttäjä on. Kuvittele, että tämä tapahtuu jokaisella sivulla, jolla vierailet Facebookissa, niin suuttuisit.

Sessiot tarjoavat web-kehittäjälle mahdollisuuden tallentaa tietoa käyttäjästä/asiakkaasta. Kaikki käyttäjän tiedot tallennetaan, kun käyttäjä kirjautuu sisään. Tämä tallennetaan tietokantaan. Nyt käyttäjä voi selata sovellusta sujuvasti, koska palvelimella on käyttäjän tiedot.

Miten istunto luodaan?

Tässä sinun on tiedettävä, että HTTP-pyynnölläsi ei ole aavistustakaan siitä, mikä on istunto, eikä palvelimella ole aavistustakaan siitä, mikä on istunto. Se on puhtaasti web-kehittäjän rakentama asiakkaan tietojen tallentamista varten. Palvelimen istunto toteutetaan monisäikeistämällä tai aliprosesseilla. Verkkokehittäjänä meillä on luokkia ja metodeja, joilla voimme luoda uuden istunnon, käyttää nykyistä istuntoa ja tallentaa siihen tietoja. Jokaisella käyttäjällä on oma istuntonsa, ja kun useampi käyttäjä käyttää sovellusta, jokaiselle yksittäiselle käyttäjälle annetaan oma istunto, jota palvelin ylläpitää.

Miten palvelin tunnistaa, kuka käyttäjä kuuluu mihinkin istuntoon?

Vastauksen antamiseksi on selitettävä, mikä on eväste?

Se on tiedosto, joka sisältää pienen määrän dataa, joka on tallennettu asiakastietokoneelle avain-arvo-parin muotoon, ja jonka sekä asiakas että palvelin lukevat. Tiedot sisältävät tietoa käyttäjästä.

Kuka luo evästeen? Evästeen luo palvelin. Se lisää tietoja ja paketoi ne evästeeseen, joka lähetetään selaimelle. Nyt joka kerta, kun verkkosivustolta tulee pyyntö ja se osuu palvelimelle, palvelin pyytää evästeen selaimelta. Selain lähettää evästeen HTTP-pyynnön kautta. Koska evästeessä on käyttäjän tiedot, palvelin lukee sen ja lataa verkkosivun evästeen tietojen perusteella.

Samoin istunnossa on yksilöllinen tunniste, jota kutsutaan nimellä session token Id/session ID. Palvelin luo muuttujan, joka edustaa joitakin istuntotietoja, ja tallentaa sen evästeeseen. Loppuosa prosessista on aivan kuten edellä on selitetty. Näin palvelin tunnistaa, kuka käyttäjä käyttää sivustoa.

Johtopäätös

Suosittelen toteuttamaan ostoskorin tai pankkisovelluksen millä tahansa haluamallasi ohjelmointikielellä ja soveltamaan siihen istuntoja, jotta ymmärrät täysin istuntojen,pyyntöjen,evästeiden käsitteen. Koodausohjeet löydät kaikkialta muualta paitsi täältä. Kun olet tehnyt siirry seuraavalle tasolle toteuttamalla tietoturvakonseptit näille alueille. Kyse ei ole vain tietojen tallentamisesta ja käyttämisestä, vaan kaikessa on kyse siitä, miten turvallisesti tallennat ja käytät tietoja. Hyvää päivänjatkoa.

Mitä olet oppinut –

  1. Mikä on pyyntö?
  2. Mitä on pyyntötieto tässä? Miltä data näyttää?
  3. Mikä on palvelin?
  4. Mikä on istunto?
  5. Miten istunto luodaan?
  6. Mikä on eväste?
  7. Kuka luo evästeen?
  8. Miten palvelin ylläpitää useita istuntoja?

Lisätietoa asiaan liittyvistä tiedoista:

HTTP-eväste

HTTP-pyyntö

Session wiki

Palvelin

.