POST

HTTP meetod

HTTP-meetodi POST spetsifikatsioon

POST-meetod nõuab, et sihtressurss töötleks taotluses sisalduvat esitust vastavalt ressursi enda spetsiifilisele semantikale. Näiteks kasutatakse POSTi (muu hulgas) järgmiste funktsioonide jaoks:

  • andmeploki, näiteks HTML-vormi sisestatud väljade edastamine andmekäitlusprotsessile;
  • sõnumi saatmine teadetetahvlile, uudisgrupile, postiloendile, blogile või sarnasele artiklite rühmale;
  • Uue ressursi loomine, mida päritoluserver peab veel tuvastama; ja
  • andmete lisamine ressursi olemasolevasse(te) esitus(t)ega.

Algsidese server näitab vastuse semantikat, valides sobiva staatuskoodi sõltuvalt POST päringu töötlemise tulemusest; peaaegu kõik käesoleva spetsifikatsiooniga määratletud staatuskoodid võidakse saada vastuseks POSTile (erandid on 206 (osaline sisu), 304 (ei ole muudetud) ja 416 (vahemik ei ole rahuldatav)).

Kui POST-taotluse eduka töötlemise tulemusena on päritoluserveris loodud üks või mitu ressurssi, PEAB päritoluserver saatma vastuse 201 (Created), mis sisaldab Location-pealkirjavälja, mis annab loodud esmase ressursi identifikaatori (punkt 7.1.2) ja esitus, mis kirjeldab taotluse staatust, viidates samal ajal uuele(te)le ressursile.

Vastused POST-päringutele on vahemällu salvestatavad ainult siis, kui need sisaldavad selgesõnalist värskuse teavet (vt [RFC7234] punkt 4.2.1). POST-i vahemälu ei ole siiski laialdaselt rakendatud. Juhtudel, kui päritoluserver soovib, et klient saaks POST-i tulemuse vahemällu panna, et seda saaks hiljem GET-i puhul uuesti kasutada, saadab päritoluserver MAHTLIK vastuse 200 (OK), mis sisaldab tulemust ja Content-Location päise välja, millel on sama väärtus kui POST-i tegelikul päringu URI-l (jagu 3.1.4.2).

Kui POSTi töötlemise tulemus oleks samaväärne olemasoleva ressursi esitusega, võib päritoluserver MAIB kasutajaagenti sellele ressursile ümber suunata, saates vastuse 303 (Vt muu), mille väljal Location on olemasoleva ressursi identifikaator. Selle eeliseks on see, et kasutajaagent saab ressursi identifikaatori ja edastab representatsiooni meetodi kaudu, mis sobib paremini jagatud vahemällu salvestamiseks, kuigi see toob kaasa lisataotluse, kui kasutajaagent ei ole representatsiooni juba vahemällu salvestanud.

HTTP-meetod POST on täpsustatud dokumendi RFC 7231 jaotises 4.3.3, mille on koostanud Internet Engineering Task Force (IETF) ja World Wide Web Consortium (W3C).

Meetodi POST kirjeldus

pooleliolev töö

Näide HTTP-meetodi POST kohta

Request header:
POST /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
Content-Type: application/json
Content-Length: 100
Connection: keep-alive
Request body:
{
  "key": "value",
  "foo": "bar"
}
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
Location: http://api.example.com/data/123
Response body:
{
  "status": "success",
  "id": 123
}