GET

Metoda HTTP

Specifikacija metode HTTP GET

Metoda GET zahteva prenos trenutne izbrane predstavitve za ciljni vir. Metoda GET je glavni mehanizem za pridobivanje informacij in je v središču pozornosti skoraj vseh optimizacij zmogljivosti. Zato, ko ljudje govorijo o pridobivanju nekaterih določljivih informacij prek protokola HTTP, imajo običajno v mislih zahtevo GET.

Spodbudno je razmišljati o identifikatorjih virov kot o imenih poti oddaljenega datotečnega sistema in o predstavitvah kot o kopijah vsebine teh datotek. Pravzaprav je tako izvedenih veliko virov (glejte razdelek 9.1 za povezane varnostne vidike). Vendar v praksi ni takšnih omejitev. Vmesnik HTTP za vir je prav tako verjetno izveden kot drevo vsebinskih objektov, programski pogled na različne zapise podatkovne zbirke ali vrata do drugih informacijskih sistemov. Tudi kadar je mehanizem preslikave URI vezan na datotečni sistem, je lahko izvorni strežnik konfiguriran tako, da izvede datoteke z zahtevo kot vhodom in pošlje izhod kot predstavitev, namesto da bi datoteke prenesel neposredno. Ne glede na to mora samo izvorni strežnik vedeti, kako vsak njegov identifikator vira ustreza izvedbi in kako vsaka izvedba uspe izbrati in poslati trenutno predstavitev ciljnega vira v odgovoru na GET.

Odjemalec lahko spremeni semantiko GET, da postane "zahteva po obsegu" in zahteva prenos samo nekaterih delov izbrane predstavitve, tako da v zahtevo pošlje naslovno polje Range (RFC7233).

koristni tovor v sporočilu zahteve GET nima določene semantike; pošiljanje telesa koristnega tovora v zahtevi GET lahko pri nekaterih obstoječih izvedbah povzroči zavrnitev zahteve.

Odgovor na zahtevo GET je mogoče shraniti v predpomnilnik; predpomnilnik ga LAHKO uporabi za izpolnitev naslednjih zahtev GET in HEAD, razen če je v naslovnem polju Cache-Control navedeno drugače (oddelek 5.2 standarda RFC7234).

Metodo HTTP GET sta v oddelku 4.3.1 dokumenta RFC 7231 določila projektna skupina za internetno inženirstvo (IETF) in konzorcij za svetovni splet (W3C).

Opis metode GET

Metoda GET protokola HTTP je primerljiva z digitalnim knjižničarjem. vljudno prosi strežnik, da predstavi podatke, ne da bi pri tem karkoli spremenil podatke – gre za čisto pasivno zahtevo.

Kaj naredi metodo GET posebno?

  1. Konzistentnost: Predstavljajte si, da knjižničarja večkrat zaprosite za isto knjigo – vsakič boste dobili isto knjigo. Enako velja za zahtevo GET: vedno prinaša enak rezultat.
  2. Branje, ne pisanje: Zahteva GET ima značaj opazovalca. Gleda podatke, vendar jih ne spreminja.
  3. Informacije v URL: URL si lahko predstavljate kot naslov ali indeksno kartico. Pove, katero knjigo ali informacijo iščete. Vendar pa bodite previdni: na teh karticah ne bi smeli imeti zasebnih zapisov, saj jih lahko drugi vidijo.
  4. Hitre in učinkovite odgovore: Zahvaljujoč možnosti shranjevanja odgovorov v predpomnilnik, metoda GET lahko hitro odgovori na ponavljajoče se zahteve, podobno kot dobro organiziran knjižničar, ki natančno ve, kje je vsaka knjiga.

Vendar obstajajo tudi omejitve:

  1. Omejen prostor za opombe: URL ima le omejen prostor za informacije. Je kot pisanje na majhno indeksno kartico.
  2. Brez skrivnosti: Ker so URL-ji vidni in jih je mogoče shraniti, na njih ne bi smeli zapisovati občutljivih informacij.
  3. Brez vmešavanja: Opazovalec ne vpliva na to, kar opazuje. Zato metode GET ne bi smeli uporabljati za spreminjanje podatkov. Za to imamo v našem digitalnem orodjarniku druge orodja.

Na splošno je metoda GET zanesljivo in bistveno orodje v digitalnem prostoru, ki nam pomaga učinkovito in varno pridobivati informacije.

Primer za metodo HTTP GET

Request header:
GET /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept: application/json
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Cache-Control: max-age=0
Response header:
Content-Type: application/json
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache