POST
HTTP metode
HTTP metodes POST specifikācija
P POST metode pieprasa, lai mērķa resurss apstrādā pieprasījumā ietverto attēlojumu saskaņā ar resursa specifisko semantiku. Piemēram, POST tiek izmantots šādām funkcijām (cita starpā):
- Datu bloka, piemēram, HTML veidlapā ievadīto lauku, nodošana datu apstrādes procesam;
- Vēstījuma nosūtīšana uz ziņojumu dēli, ziņu grupu, e-pasta sarakstu, emuāru vai līdzīgu rakstu grupu;
- Jausta resursa izveide, kas izcelsmes serverim vēl ir jāidentificē; un
- Datu pievienošana resursa esošajam(-iem) attēlojumam(-iem).
Izcelsmes serveris norāda atbildes semantiku, izvēloties atbilstošu statusa kodu atkarībā no POST pieprasījuma apstrādes rezultāta; gandrīz visus šajā specifikācijā definētos statusa kodus var saņemt POST atbildē (izņēmumi ir 206 (daļējs saturs), 304 (nemodificēts) un 416 (diapazons nav izpildāms)).
Ja POST pieprasījuma veiksmīgas apstrādes rezultātā izcelsmes serverī ir izveidots viens vai vairāki resursi, izcelsmes serveris PIENĀCĪGI nosūta 201 (Izveidots) atbildi, kas satur atrašanās vietas galvenes lauku, kurā norādīts izveidotā primārā resursa identifikators (7. iedaļa.1.2) un attēlojumu, kas apraksta pieprasījuma statusu, vienlaikus atsaucoties uz jauno(-ajiem) resursu(-iem).
Atbildes uz POST pieprasījumiem ir kešējamas tikai tad, ja tajās ietverta skaidra svaiguma informācija (sk. [RFC7234] 4.2.1. iedaļu). Tomēr POST kešēšana nav plaši ieviesta. Gadījumos, kad izcelsmes serveris vēlas, lai klients varētu saglabāt POST rezultāta kešatmiņā tā, lai to varētu atkārtoti izmantot vēlākā GET pieprasījumā, izcelsmes serveris VAI nosūta 200 (OK) atbildi, kurā ir rezultāts un Content-Location galvenes lauks, kam ir tāda pati vērtība kā POST faktiskajam pieprasījuma URI (3. nodaļa.1.4.2).
Ja POST apstrādes rezultāts būtu līdzvērtīgs esoša resursa atveidojumam, izcelsmes serveris VAIpārvirza lietotāja aģentu uz šo resursu, nosūtot 303 (Skatīt citu) atbildi ar esošā resursa identifikatoru atrašanās vietas laukā. Tas nodrošina lietotāja aģentam resursa identifikatoru un pārsūta attēlojumu, izmantojot metodi, kas ir vieglāk izmantojama koplietošanas kešatmiņā, lai gan par papildu pieprasījuma cenu, ja lietotāja aģentam jau nav kešatmiņā ievietots attēls.
POST metodes apraksts
HTTP metodes POST piemērs
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"
}
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
}