201 Created
Penggunaan
Kode status 201 Created dikembalikan ketika sebuah permintaan membuat satu atau beberapa sumber daya baru. Hal ini umumnya terjadi setelah permintaan POST atau PUT. Server menyertakan header Location yang menunjuk ke sumber daya yang baru dibuat. Ketika header Location tidak ada, sumber daya yang dibuat berada di path yang ditentukan dalam permintaan asli.
Catatan
Permintaan PUT yang membuat sumber daya pada URI tertentu juga mengembalikan 201 Created. Perbedaannya, klien menentukan URI target secara langsung dengan PUT, sedangkan server yang menentukan URI pada POST.
Spesifikasi mengizinkan adanya body pada respons 201. Konvensi REST adalah mengembalikan representasi sumber daya yang dibuat, termasuk kolom yang ditetapkan server seperti id, timestamp, dan URI. Ini menghindari permintaan GET lanjutan untuk mengambil sumber daya baru tersebut. Header Location menunjuk ke URI sumber daya baru itu.
Catatan
201 berarti sumber daya langsung dibuat dan tersedia di URI pada Location. 202 berarti permintaan diterima tetapi pemrosesannya belum selesai, yang umum terjadi pada alur kerja asinkron dan pekerjaan yang diantrekan.
Dampak SEO
Google menunggu sebentar untuk konten dari respons 201, lalu meneruskan konten yang diterima ke alur pengindeksan. Pengindeksan tidak dijamin.
Contoh
Klien mengunggah data XML ke server, dengan menentukan /incoming/xml sebagai path tujuan. Server merespons untuk mengonfirmasi bahwa data telah diterima dan sebuah berkas bernama article_1.xml telah dibuat.
Permintaan
POST /incoming/xml HTTP/1.1
Host: example.com
Content-Type: application/xml
Content-Length: 105
<?xml version="1.0"?>
<article>
<title>Test XML article</title>
<author>Anonymous</author>
</article>
Respons
HTTP/1.1 201 Created
Location: /incoming/xml/article_1.xml
Content-Type: application/json
Content-Length: 18
{"success":"true"}
Referensi kode
.NET
HttpStatusCode.Created
Rust
http::StatusCode::CREATED
Rails
:created
Go
http.StatusCreated
Symfony
Response::HTTP_CREATED
Python3.5+
http.HTTPStatus.CREATED
Java
java.net.HttpURLConnection.HTTP_CREATED
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_CREATED
Angular
@angular/common/http/HttpStatusCode.Created