POST

HTTP-metode

Specifikation af HTTP-metoden POST

POST-metoden anmoder om, at målressourcen behandler den repræsentation, der er vedlagt anmodningen, i henhold til ressourcens egen specifikke semantik. For eksempel bruges POST til følgende funktioner (blandt andre):

  • Tilvejebringelse af en blok af data, såsom de felter, der er indtastet i en HTML-formular, til en datahåndteringsproces;
  • Posting af en besked til en opslagstavle, nyhedsgruppe, mailingliste, blog eller lignende gruppe af artikler;
  • Oprettelse af en ny ressource, der endnu ikke er identificeret af originalserveren; og
  • Tilføjelse af data til en ressources eksisterende repræsentation(er).

En originalserver angiver svarsemantik ved at vælge en passende statuskode afhængigt af resultatet af behandlingen af POST-anmodningen; næsten alle de statuskoder, der er defineret i denne specifikation, kan modtages i et svar på POST (undtagelserne er 206 (Delvist indhold), 304 (Ikke ændret) og 416 (Rækkevidde ikke tilfredsstillende)).

Hvis en eller flere ressourcer er blevet oprettet på originalserveren som et resultat af en vellykket behandling af en POST-anmodning, sender originalserveren BØR et 201 (Oprettet) svar, der indeholder et Location-headerfelt, der giver en identifikator for den primære ressource, der er oprettet (afsnit 7.1.2) og en repræsentation, der beskriver status for anmodningen, mens der henvises til de(n) nye ressource(r).

Svar på POST-anmodninger kan kun caches, når de indeholder eksplicit information om friskhed (se afsnit 4.2.1 i [RFC7234]). POST-cache er dog ikke bredt implementeret. I tilfælde, hvor en originalserver ønsker, at klienten skal kunne cache resultatet af en POST på en måde, der kan genbruges af en senere GET, sender originalserveren MAY et 200 (OK)-svar, der indeholder resultatet og et Content-Location-headerfelt, der har samme værdi som POST'ens effektive request-URI (Afsnit 3.1.4.2).

Hvis resultatet af behandlingen af en POST svarer til en repræsentation af en eksisterende ressource, kan en originalserver MAY omdirigere brugeragenten til den pågældende ressource ved at sende et 303-svar (Se andet) med den eksisterende ressources identifikator i feltet Placering. Dette har den fordel, at det giver brugeragenten en ressourceidentifikator og overfører repræsentationen via en metode, der er mere egnet til delt caching, men på bekostning af en ekstra anmodning, hvis brugeragenten ikke allerede har repræsentationen cached.

HTTP-metode POST er blevet specificeret i afsnit 4.3.3 i dokument RFC 7231 af Internet Engineering Task Force (IETF) og World Wide Web Consortium (W3C).

Beskrivelse af POST-metoden

igangværende arbejde

Eksempel på HTTP-metoden POST

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
}