Miten 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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.45
Miten 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?
Kiitos palautteestasi!