HTML-pyyntömenetelmät
- Edellinen sivu HTTP-viestit
- Seuraava sivu Näppäimistönopeustavat
Mikä on HTTP?
Hyperlinkin siirto protokolla (Hypertext Transfer Protocol, lyhennys HTTP) on suunniteltu mahdollistamaan asiakkaan ja palvelimen välisen viestinnän.
HTTP toimii asiakkaan ja palvelimen välisenä pyynnön-vastausprotokollana.
Esimerkki: asiakas (selain) lähettää HTTP-pyynnön palvelimelle; sitten palvelin palauttaa vastauksen asiakkaalle. Vastaus sisältää pyynnön tilatiedot ja voi sisältää pyydetyn sisällön.
HTTP-metodi
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
Kaksi yleisimmin käytettyä metodia ovat: GET ja POST.
GET-metodi
GET käytetään datan pyytämiseen määritetystä resurssista.
GET on yksi yleisimmistä HTTP-metodeista.
Huomaa, että kyselymerkkijono (nimi/arvo-para) lähetetään GET-pyynnön URL:ssä:
/test/demo_form.php?name1=value1&name2=value2
Muutamia GET-pyynnöistä:
- GET-pyynnöt voidaan tallentaa
- GET-pyynnöt säilytetään selaimen historialleessa
- GET-pyynnöt voidaan tallentaa kirjanmerkkeihin
- GET-pyynnöitä ei tulisi käyttää arkaluontoisten tietojen käsittelyssä
- GET-pyynnöillä on pituusrajoitus
- GET-pyynnöt tulisi käyttää vain tiedon hakemiseen (ei muokkaamiseen)
POST-metodi
POST käytetään datan lähettämiseen palvelimelle luodaksesi/päivittääksesi resurssin.
POST:llä lähetettävät tiedot tallennetaan HTTP-pyynnön pyydettävään sisältöön:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST on yksi yleisimmistä HTTP-metodeista.
Muutamia POST-pyynnöistä:
- POST-pyynnöt eivät voi tallentaa
- POST-pyynnöt eivät säilytetä selaimen historialleessa
- POST ei voi tallentaa kirjanmerkkeihin
- POST-pyynnöllä ei ole pituusrajoitusta
PUT-metodi
PUT käytetään datan lähettämiseen palvelimelle luodaksesi/päivittääksesi resurssin.
POST ja PUT välillä on ero, että PUT-pyyntö on idempotentti (ei-toistuva). Tämä tarkoittaa, että useat saman PUT-pyynnön kutsut tuottavat aina saman tuloksen. Päinvastoin, useat POST-pyynnön kutsut voivat vaikuttaa useita kertoja saman resurssin luomiseen.
HEAD-metodi
HEAD on lähes sama kuin GET, mutta ilman vastauskenttää.
Toisin sanoen, jos GET /users palauttaa käyttäjälistan, niin HEAD /users lähettää saman pyynnön, mutta ei palauta käyttäjälistaa.
HEAD-pyyntö on hyödyllinen, jos haluat tarkistaa GET-pyynnön palauttaman sisällön ennen kuin lähetät GET-pyynnön (esim. ennen suurten tiedostojen tai vastauskenttien lataamista).
DELETE-metodi
DELETE-metodi poistaa määritellyn resurssin.
OPTIONS-metodi
OPTIONS-metodi kuvaa kohdevedonlyönnin viestintävalintoja.
Vertaa GET:iä ja POST:ää
Seuraava taulukko vertailee kahta HTTP-metodia: GET ja POST.
GET | POST | |
---|---|---|
Takaisin-nappi/Päivitä | Harmiton | Tiedot toimitetaan uudelleen (selaimeen tulisi ilmoittaa käyttäjälle, että tiedot toimitetaan uudelleen). |
Kirjanmerkit | Voit tallentaa kirjanmerkkeihin | Ei voi tallentaa kirjanmerkkeihin |
Tallennus | Voit tallentaa | Ei voi tallentaa |
Koodausmuoto | application/x-www-form-urlencoded | application/x-www-form-urlencoded tai multipart/form-data. Käytä monikerroksista koodausta binaaridataa varten. |
Historia | Parametrit säilyvät selaimen historialle. | Parametrit eivät tallennu selaimen historialle. |
Rajoitukset tietojen pituudelle | Kyllä. Kun lähetät tietoja, GET-metodi lisää tiedot URL:ään; URL:n pituus on rajoitettu (URL:n enimmäispituus on 2048 merkkiä). | Rajoituksetta. |
Rajoitukset datatyypille | Vain ASCII-merkit sallittuja. | Ei rajoituksia. Sallii myös binaaridata. |
Turvallisuus | GET:n turvallisuus on heikompi kuin POST:n, koska lähetettävät tiedot ovat osa URL:ää. Älä koskaan käytä GET:iä lähettämään salasanoja tai muita arkaluonteisia tietoja! |
POST on turvallisempi kuin GET, koska parametrit eivät tallennu selaimen historialle tai verkkoserverin lokitiedostoihin. |
Näkyvyys | Data on näkyvää kaikille URL:ssä. | Data ei näy URL:ssä. |
- Edellinen sivu HTTP-viestit
- Seuraava sivu Näppäimistönopeustavat