Standardeeritud HTTP-meetod QUERY, mis ĂŒhendab GET ja POST vĂ”imalusi

IETF (Internet Engineering Task Force) insenerikomitee, mis tegeleb Interneti protokollide ja arhitektuuri arendamisega, on mÀÀranud HTTP meetodile QUERY "Eettasu" staatuse ning avaldanud sellega seotud spetsifikatsiooni RFC 10008. QUERY meetod sarnaselt POST meetodile edastab andmeid serverisse, kuid erineb sellest, et fookus ei ole andmete salvestamisel ja oleku muutmisel, vaid lugemisÀppede tegemisel.

Lahendatavates ĂŒlesannetes on uus meetod GET-le lĂ€hedane ja vĂ”imaldab edastada pĂ€ringuid, mida saab korrata vĂ”i taaskĂ€ivitada ilma serveri oleku muutmiseta. Nagu POST meetodi puhul, edastatakse QUERY pĂ€ringu parameetrid mitte URI-s, vaid pĂ€ringu kehas. Selline lĂ€henemine vĂ”imaldab edastada suurtes kogustes parameetreid, ĂŒletades GET meetodi parameetrite suuruse piiri (8000 baiti).

GET /feed?q=foo&limit=10&sort=-published HTTP/1.1
Host: example.org

QUERY /feed HTTP/1.1
Host: example.org
Content-Type: application/x-www-form-urlencoded

q=foo&limit=10&sort=-published

QUERY meetodi kaudu edastatud parameetreid ei kajastata logides serverite, mis see ĂŒhelt poolt raskendab pĂ€ringute analĂŒĂŒsi ja probleemide diagnoosimist, kuid teisalt vĂ”imaldab varjata konfidentsiaalset teavet puhverserverite logidest.

Kasutusvaldkondade hulgas on QUERY meetodi rakendamisel mainitud pĂ€ringute saatmist Web API-dele, mis tagastavad tulemuse JSON- vĂ”i XML-formaadis, vĂ”i taustsĂŒsteemidele, mis genereerivad sisu. Uue meetodi rakendatavuse mÀÀramiseks pöördumisel soovitatakse kasutada meetodit OPTIONS, ning toetatavate formaatide mÀÀramiseks meetodit HEAD: serverile >> OPTIONS /contacts HTTP/1.1

>> Host: example.org
HTTP/1.1 200 OK

Allow: GET, QUERY, OPTIONS, HEAD
Lubage: GET, QUERY, OPTIONS, HEAD

QUERY meetodis on kĂ€tetavad vahemĂ€lu — proksiserverid vĂ”i töötlejad vĂ”ivad salvestada pĂ€ringu teostamise tulemuse, mÀÀrata sellele URI edaspidiseks viitamiseks GET meetodi kaudu ning edastada teavet vahemĂ€lu versiooni vĂ€ljastamise kohta «Last-Modified» pĂ€ises. Muudatuste kontrollimiseks eelmise pĂ€ringu kestusest saab kasutada pĂ€ist «If-Modified-Since». PĂ€ringu tĂ€itmise alternatiivsete variantide nĂ€itamiseks vastuses vĂ”ivad olla pĂ€ised «Content-Location» ja «Location», mille erinevus seisneb selles, et esimene edastab lingi varem tehtud pĂ€ringu tulemusele, samas kui teine on mĂ”eldud pĂ€ringu kordamiseks samade parameetritega.

> QUERY /contacts HTTP/1.1
HTTP/1.1 200 OK
> Content-Type: application/x-www-form-urlencoded
> Accept: application/json
> select=surname,givenname,email&limit=10&match=%22email=*@example.*%22

Allow: GET, QUERY, OPTIONS, HEAD
Content-Type: application/json
Content-Location: /contacts/stored-results/17
Location: /contacts/stored-queries/42
Last-Modified: Sat, 25 Aug 2012 23:34:45 GMT
Date: Sun, 17 Nov 2024, 16:10:24 GMT

> GET /contacts/stored-results/17 HTTP/1.1
HTTP/1.1 200 OK
> Accept: application/json

Lisaks tĂŒĂŒbile «application/x-www-form-urlencoded» saab QUERY pĂ€ringute parameetrite edastamiseks kasutada ka otse laiendatud vormate, nagu JSONPath (application/jsonpath), XSLT (application/xslt+xml) ja SQL (application/sql). Toetatud formaadid tagastatakse serveriga Accept-Query pĂ€ises.

> HEAD /contacts HTTP/1.1
HTTP/1.1 200 OK

Allow: GET, QUERY, OPTIONS, HEAD
Content-Type: application/xhtml
Accept-Query: application/x-www-form-urlencoded, application/jsonpath, application/sql

> QUERY /errata.json HTTP/1.1
HTTP/1.1 200 OK
> Content-Type: application/jsonpath
> Accept: application/json
>
> $..[
> ?@.errata_status_code==»Rejected»
> && @.submit_date>»2024″
> ]
> [«doc-id»]

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster