GET

HTTP metode

HTTP metodes GET specifikācija

GET metode pieprasa mērķa resursa pašreizējās atlasītās reprezentācijas pārsūtīšanu. GET ir galvenais informācijas iegūšanas mehānisms, un uz to vērsta gandrīz visa veiktspējas optimizācija. Tāpēc, kad cilvēki runā par kādas identificējamas informācijas iegūšanu, izmantojot HTTP, viņi parasti atsaucas uz GET pieprasījuma veikšanu.

Liekas vilinoši domāt par resursu identifikatoriem kā par attālinātiem failu sistēmas ceļu nosaukumiem un par reprezentācijām kā par šādu failu satura kopijām. Patiesībā šādi ir īstenoti daudzi resursi (sk. 9.1. sadaļu par saistītiem drošības apsvērumiem). Tomēr praksē šādu ierobežojumu nav. Resursu HTTP saskarni tikpat labi iespējams īstenot kā satura objektu koku, programmatisku skatījumu uz dažādiem datubāzes ierakstiem vai vārteju uz citām informācijas sistēmām. Pat tad, ja URI kartēšanas mehānisms ir piesaistīts datņu sistēmai, izcelsmes serveri var konfigurēt tā, lai izpildītu failus ar pieprasījumu kā ievadi un nosūtītu izvades rezultātus kā attēlojumu, nevis tieši pārsūtītu failus. Neatkarīgi no tā, tikai izcelsmes serverim ir jāzina, kā katrs no tā resursu identifikatoriem atbilst implementācijai un kā katra implementācija spēj atlasīt un nosūtīt mērķa resursa pašreizējo atveidojumu atbildē uz GET.

Klients var mainīt GET semantiku, lai tas būtu "diapazona pieprasījums", pieprasot pārsūtīt tikai kādu(-as) atlasītā atveidojuma daļu(-is), nosūtot pieprasījumā Range galvenes lauku (RFC7233).

GET pieprasījuma ziņojumā esošajai lietderīgajai slodzei nav noteiktas semantikas; nosūtot lietderīgās slodzes ķermeni GET pieprasījumā, dažas esošās implementācijas var noraidīt pieprasījumu.

Atbilde uz GET pieprasījumu ir kešējama; kešatmiņa to VAR izmantot, lai izpildītu turpmākos GET un HEAD pieprasījumus, ja vien Cache-Control galvenes laukā nav norādīts citādi (RFC7234 5.2. iedaļa).

HTTP GET metodi RFC 7231. dokumenta 4.3.1. iedaļā ir precizējusi Interneta inženierijas darba grupa (IETF) un Pasaules tīmekļa konsorcijs (W3C).

GET metodes apraksts

HTTP protokola GET metode ir salīdzināma ar digitālo bibliotekāri. Tā pieklājīgi lūdz serverim prezentēt datus, neveicot nekādas izmaiņas pašos datos – tas ir pilnīgi pasīvs pieprasījums.

Kas padara GET metodi īpašu?

  1. Konsekvence: Iedomājieties, prasot bibliotekārim vienu un to pašu grāmatu vairākas reizes – katru reizi jūs saņemtu to pašu grāmatu. Tas pats attiecas uz GET pieprasījumu: tas konsekventi sniedz to pašu rezultātu.
  2. Lasiet, ne rakstiet: GET pieprasījumam piemīt novērotāja raksturs. Tas aplūko datus, bet tos nemaina.
  3. Informācija URL: Uzskatiet URL par adresi vai indeksa kartiņu. Tā norāda, kuru grāmatu vai informāciju jūs meklējat. Tomēr uzmanību: šīs kartiņas nedrīkst saturēt privātas piezīmes, jo tās var aplūkot citi.
  4. Ātras un efektīvas atbildes: Pateicoties atbilžu kešošanas spējai, GET metode var ātri atbildēt uz atkārtotiem pieprasījumiem, tāpat kā labi organizēts bibliotekārs, kurš zina, kur atrodas katra grāmata.

Taču ir arī ierobežojumi:

  1. Ierobežota vieta piezīmēm: URL ir tikai noteikta vieta informācijai. Tas ir kā rakstīt uz mazas indeksa kartiņas.
  2. Nav noslēpumu: Tā kā URL ir redzami un tos var saglabāt, jūs nedrīkstat uz tiem uzrakstīt nekādu sensitīvu informāciju.
  3. Nav iejaukšanās: Novērotājs neietekmē to, ko viņš novēro. Tādēļ GET metodi nevajadzētu izmantot datu modificēšanai. Mums ir citi rīki mūsu digitālajā rīkkastē šādiem mērķiem.

Kopumā, GET metode ir uzticams un būtisks rīks digitālajā vidē, palīdzot mums droši un efektīvi iegūt informāciju.

HTTP metodes GET piemērs

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