Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Miten HTTP Toimii | Taustakehityksen Perusteet
Spring Boot Backend

bookMiten HTTP Toimii

Olet ehkä miettinyt, miten pyyntösi käsitellään ja miten sivut sekä data ladataan sen mukaan, minkä URL-osoitteen syötät selaimeesi. HTTP-protokolla mahdollistaa tämän prosessin.

Mitä tarkoitetaan asiakkaalla? HTTP-yhteydessä asiakas viittaa ohjelmaan tai laitteeseen, joka aloittaa pyynnöt palvelimelle hakeakseen dataa tai resursseja. Yleisimmin asiakas on verkkoselain (kuten Chrome, Firefox tai Safari), jota käytät verkkosivujen selaamiseen.

Palvelimen vastaus voi olla useissa eri muodoissa. Saatat saada HTML-sivun, jonka selaimesi näyttää, tai voit lähettää ja vastaanottaa tietoja JSON- tai XML-muodossa (joihin palaamme myöhemmin).

Esimerkki

Tässä on esimerkki tosielämästä: Kuvittele, että tilaat ruokaa ravintolassa. Sinä (asiakas) teet tilauksen tarjoilijalle (pyynnön lähettäminen), ja tarjoilija välittää tilauksesi keittiöön (palvelin). Tämän jälkeen keittiö valmistaa ateriasi ja tarjoilija tuo sen sinulle takaisin (vastauksen palauttaminen).

Tässä esimerkissä sinä olet verkkoselain, tarjoilija on HTTP-protokolla ja keittiö on palvelin, joka käsittelee pyynnöt ja lähettää vastaukset.

HTTP-menetelmät

HTTP-menetelmät määrittävät, mitä toimintoja suoritetaan resursseille palvelimella. Tärkeimmät menetelmät ovat:

GET

Käytetään datan hakemiseen palvelimelta. Esimerkiksi, kun avaat verkkosivun, selaimesi lähettää GET-pyynnön ladatakseen sisällön.

Kuvittele meneväsi kirjastoon ja pyytäväsi kirjastonhoitajaa (palvelin) etsimään kirjan (resurssi). Kirjastonhoitaja hakee kirjan hyllystä ja palauttaa sen sinulle.

Kun avaat verkkosivun, selaimesi lähettää GET-pyynnön "pyytääkseen" palvelinta toimittamaan sivun, aivan kuten pyytäisit kirjaa kirjastossa.

POST

Lähettää dataa palvelimelle uuden resurssin luomiseksi. Tätä menetelmää käytetään usein lomaketietojen lähettämiseen, kuten rekisteröintitietojen tai kommenttien.

Esimerkiksi, kun lähetät hakemuksen passia varten, asianomainen virasto luo uuden tietueen tietojesi perusteella.

Vastaavasti, kun lähetät dataa lomakkeen kautta verkkosivustolla (kuten rekisteröintitiedot), POST-pyyntö lähettää nämä tiedot palvelimelle uuden resurssin luomiseksi.

PUT

Käytetään olemassa olevien resurssien päivittämiseen palvelimella. Tämä menetelmä mahdollistaa tietojen muokkaamisen palvelimella annetun informaation perusteella.

Vastaava kuin olemassa olevan dokumentin päivittäminen. Verkkoympäristössä PUT-pyyntöä käytetään korvaamaan tai päivittämään olemassa oleva resurssi palvelimella. Esimerkiksi käyttäjäprofiilin tietojen päivittäminen.

DELETE

Käytetään resurssien poistamiseen palvelimelta. Tätä menetelmää voidaan esimerkiksi käyttää käyttäjätilin tai foorumiviestin poistamiseen.

Kuvittele, että yritys päättää poistaa vanhentuneen sopimuksen arkistostaan. Työntekijä etsii asiakirjan ja poistaa sen tietokannasta.

PATCH

Käytetään osittaiseen päivitykseen resurssille palvelimella. Toisin kuin PUT-pyyntö, joka korvaa koko resurssin, PATCH-pyyntöä käytetään, kun tarvitsee muuttaa vain osaa resurssista.

Esimerkiksi, jos halutaan päivittää käyttäjän sähköpostiosoite profiilissa, voidaan käyttää PATCH-pyyntöä muokataksesi vain email-kenttää.

HEAD

Käytetään pyytämään vain resurssin otsikot ilman sen sisältöä.

Verkkoympäristössä HEAD-pyyntöä käytetään hankkimaan metatietoja resurssista. Esimerkiksi sillä voidaan tarkistaa, onko sivua muokattu viime käynnin jälkeen tai varmistaa tiedoston olemassaolo palvelimella ennen sen lataamista.

Miten tämä toimii käytännössä?

Pyyntö

Kun syötät URL-osoitteen (codefinity.com) hakupalkkiin, odotat saavasi vastauksena sivun, jossa on tietoa.

Jotta sivu voidaan näyttää, selaimesi (asiakas) lähettää pyynnön palvelimelle seuraavassa muodossa:

Tämä kuva havainnollistaa esimerkkiä HTTP-pyynnöstä, jonka asiakas (kuten selain) lähettää palvelimelle. Pyyntö käyttää GET-metodia, joka ilmoittaa palvelimelle, että asiakas haluaa noutaa tietoja (tässä tapauksessa etusivun /). Protokollaversio on määriteltynä HTTP/1.1.

Otsikot tarjoavat lisätietoja: Host osoittaa, että pyyntö on suunnattu palvelimelle osoitteessa codefinity.com, User-Agent antaa tietoja siitä, millainen asiakas (selain) tekee pyynnön, ja Accept-Language määrittää toivotun kielen vastaukselle — englanti. Koska kyseessä on GET-pyyntö, runkoa ei ole, koska palvelimelle ei tarvitse lähettää tietoja.

Vastaus

Kun palvelin on vastaanottanut pyynnön, se lähettää HTTP-vastauksen, joka koostuu myös useista osista:

Tämä kuva esittää esimerkin HTTP-vastauksesta, jonka palvelin lähettää takaisin asiakkaalle. Ensimmäinen rivi määrittää protokollaversion HTTP/1.1, mikä vahvistaa, että kyseessä on sama versio kuin pyynnössä. Tämän jälkeen tulee tilakoodi 200 OK, joka osoittaa, että pyyntö onnistui ja palvelin palauttaa pyydetyt tiedot.

Otsikot tarjoavat lisätietoja lähetettävästä sisällöstä. Esimerkiksi Content-Type: text/html; charset=UTF-8 määrittää, että sisältö on HTML-dokumentti, joka on koodattu UTF-8-merkistöllä. Content-Length: 3056 ilmaisee sisällön koon tavuina, kun taas Server: Apache/2.4.41 (Ubuntu) antaa tietoa siitä verkkopalvelimesta, joka käsitteli pyynnön.

Vastauksen runko sisältää varsinaisen HTML-koodin sille sivulle, joka toimitetaan asiakkaalle. Tässä tapauksessa kyseessä on yksinkertainen HTML-dokumentti, jossa on otsikko ja tervetuloa viesti.

1. Mikä on HTTP?

2. Mitä HTTP-metodia käytetään tietojen lähettämiseen palvelimelle uuden resurssin luomiseksi?

question mark

Mikä on HTTP?

Select the correct answer

question mark

Mitä HTTP-metodia käytetään tietojen lähettämiseen palvelimelle uuden resurssin luomiseksi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 3.45

bookMiten HTTP Toimii

Pyyhkäise näyttääksesi valikon

Olet ehkä miettinyt, miten pyyntösi käsitellään ja miten sivut sekä data ladataan sen mukaan, minkä URL-osoitteen syötät selaimeesi. HTTP-protokolla mahdollistaa tämän prosessin.

Mitä tarkoitetaan asiakkaalla? HTTP-yhteydessä asiakas viittaa ohjelmaan tai laitteeseen, joka aloittaa pyynnöt palvelimelle hakeakseen dataa tai resursseja. Yleisimmin asiakas on verkkoselain (kuten Chrome, Firefox tai Safari), jota käytät verkkosivujen selaamiseen.

Palvelimen vastaus voi olla useissa eri muodoissa. Saatat saada HTML-sivun, jonka selaimesi näyttää, tai voit lähettää ja vastaanottaa tietoja JSON- tai XML-muodossa (joihin palaamme myöhemmin).

Esimerkki

Tässä on esimerkki tosielämästä: Kuvittele, että tilaat ruokaa ravintolassa. Sinä (asiakas) teet tilauksen tarjoilijalle (pyynnön lähettäminen), ja tarjoilija välittää tilauksesi keittiöön (palvelin). Tämän jälkeen keittiö valmistaa ateriasi ja tarjoilija tuo sen sinulle takaisin (vastauksen palauttaminen).

Tässä esimerkissä sinä olet verkkoselain, tarjoilija on HTTP-protokolla ja keittiö on palvelin, joka käsittelee pyynnöt ja lähettää vastaukset.

HTTP-menetelmät

HTTP-menetelmät määrittävät, mitä toimintoja suoritetaan resursseille palvelimella. Tärkeimmät menetelmät ovat:

GET

Käytetään datan hakemiseen palvelimelta. Esimerkiksi, kun avaat verkkosivun, selaimesi lähettää GET-pyynnön ladatakseen sisällön.

Kuvittele meneväsi kirjastoon ja pyytäväsi kirjastonhoitajaa (palvelin) etsimään kirjan (resurssi). Kirjastonhoitaja hakee kirjan hyllystä ja palauttaa sen sinulle.

Kun avaat verkkosivun, selaimesi lähettää GET-pyynnön "pyytääkseen" palvelinta toimittamaan sivun, aivan kuten pyytäisit kirjaa kirjastossa.

POST

Lähettää dataa palvelimelle uuden resurssin luomiseksi. Tätä menetelmää käytetään usein lomaketietojen lähettämiseen, kuten rekisteröintitietojen tai kommenttien.

Esimerkiksi, kun lähetät hakemuksen passia varten, asianomainen virasto luo uuden tietueen tietojesi perusteella.

Vastaavasti, kun lähetät dataa lomakkeen kautta verkkosivustolla (kuten rekisteröintitiedot), POST-pyyntö lähettää nämä tiedot palvelimelle uuden resurssin luomiseksi.

PUT

Käytetään olemassa olevien resurssien päivittämiseen palvelimella. Tämä menetelmä mahdollistaa tietojen muokkaamisen palvelimella annetun informaation perusteella.

Vastaava kuin olemassa olevan dokumentin päivittäminen. Verkkoympäristössä PUT-pyyntöä käytetään korvaamaan tai päivittämään olemassa oleva resurssi palvelimella. Esimerkiksi käyttäjäprofiilin tietojen päivittäminen.

DELETE

Käytetään resurssien poistamiseen palvelimelta. Tätä menetelmää voidaan esimerkiksi käyttää käyttäjätilin tai foorumiviestin poistamiseen.

Kuvittele, että yritys päättää poistaa vanhentuneen sopimuksen arkistostaan. Työntekijä etsii asiakirjan ja poistaa sen tietokannasta.

PATCH

Käytetään osittaiseen päivitykseen resurssille palvelimella. Toisin kuin PUT-pyyntö, joka korvaa koko resurssin, PATCH-pyyntöä käytetään, kun tarvitsee muuttaa vain osaa resurssista.

Esimerkiksi, jos halutaan päivittää käyttäjän sähköpostiosoite profiilissa, voidaan käyttää PATCH-pyyntöä muokataksesi vain email-kenttää.

HEAD

Käytetään pyytämään vain resurssin otsikot ilman sen sisältöä.

Verkkoympäristössä HEAD-pyyntöä käytetään hankkimaan metatietoja resurssista. Esimerkiksi sillä voidaan tarkistaa, onko sivua muokattu viime käynnin jälkeen tai varmistaa tiedoston olemassaolo palvelimella ennen sen lataamista.

Miten tämä toimii käytännössä?

Pyyntö

Kun syötät URL-osoitteen (codefinity.com) hakupalkkiin, odotat saavasi vastauksena sivun, jossa on tietoa.

Jotta sivu voidaan näyttää, selaimesi (asiakas) lähettää pyynnön palvelimelle seuraavassa muodossa:

Tämä kuva havainnollistaa esimerkkiä HTTP-pyynnöstä, jonka asiakas (kuten selain) lähettää palvelimelle. Pyyntö käyttää GET-metodia, joka ilmoittaa palvelimelle, että asiakas haluaa noutaa tietoja (tässä tapauksessa etusivun /). Protokollaversio on määriteltynä HTTP/1.1.

Otsikot tarjoavat lisätietoja: Host osoittaa, että pyyntö on suunnattu palvelimelle osoitteessa codefinity.com, User-Agent antaa tietoja siitä, millainen asiakas (selain) tekee pyynnön, ja Accept-Language määrittää toivotun kielen vastaukselle — englanti. Koska kyseessä on GET-pyyntö, runkoa ei ole, koska palvelimelle ei tarvitse lähettää tietoja.

Vastaus

Kun palvelin on vastaanottanut pyynnön, se lähettää HTTP-vastauksen, joka koostuu myös useista osista:

Tämä kuva esittää esimerkin HTTP-vastauksesta, jonka palvelin lähettää takaisin asiakkaalle. Ensimmäinen rivi määrittää protokollaversion HTTP/1.1, mikä vahvistaa, että kyseessä on sama versio kuin pyynnössä. Tämän jälkeen tulee tilakoodi 200 OK, joka osoittaa, että pyyntö onnistui ja palvelin palauttaa pyydetyt tiedot.

Otsikot tarjoavat lisätietoja lähetettävästä sisällöstä. Esimerkiksi Content-Type: text/html; charset=UTF-8 määrittää, että sisältö on HTML-dokumentti, joka on koodattu UTF-8-merkistöllä. Content-Length: 3056 ilmaisee sisällön koon tavuina, kun taas Server: Apache/2.4.41 (Ubuntu) antaa tietoa siitä verkkopalvelimesta, joka käsitteli pyynnön.

Vastauksen runko sisältää varsinaisen HTML-koodin sille sivulle, joka toimitetaan asiakkaalle. Tässä tapauksessa kyseessä on yksinkertainen HTML-dokumentti, jossa on otsikko ja tervetuloa viesti.

1. Mikä on HTTP?

2. Mitä HTTP-metodia käytetään tietojen lähettämiseen palvelimelle uuden resurssin luomiseksi?

question mark

Mikä on HTTP?

Select the correct answer

question mark

Mitä HTTP-metodia käytetään tietojen lähettämiseen palvelimelle uuden resurssin luomiseksi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
some-alt