Pendahuluan

Untuk penjelasan awal mengenai HTTP Response status code, bisa lihat di sini dan di sini

Dalam HTTP Response ini ada status code berupa 3 angka yang bisa kita analisa.

Misalnya 200, 201, 400, 404, 500, dll.

Masing-masingnya mengisyaratkan Status Code response dari request yang diminta waktu melakukan pemanggilan HTTP.

Sekarang kita coba untuk melihat kasus untuk kasus Status Code 2xx, yang secara umum berarti request HTTP nya berhasil, dengan beberapa informasi tambahan tergantung kode xx dibelakangnya.


HTTP Response Code 2xx ?


Dalam memahami kasus ini kita mengacu ke RFC (Request For Comment) , sebagai standar dokumentasi untuk teknologi internet.

Untuk kasus HTTP Response Code 2xx ini, maka patokan kita adalah :

  • RFC-9110, berlaku untuk status code 200 s/d 206
  • RFC-4918, berlaku untuk status code 207
  • RFC-5842, berlaku untuk status code 208

Kita perlu patokan RFC ini untuk dapat memahami dasar awal untuk menentukan kasus yang tepat dalam menentukan status code yang tepat.

Daftarnya juga bisa dilihat di IANA HTTP Status Code Registry

Secara umum Status Code 2xx ini mengisyaratkan bahwa :

Http requestnya diterima di server, dimengerti requestnya oleh server dan server berhasil melakukan aksinya.

Coba kita lihat daftar HTTP Status Code nya satu persatu :



HTTP Status Code - 200 - OK

Response Status Code 200 ini artinya Http requestnya sukses dijalankan di sisi server.

Ini biasanya adalah status code yang umum yang akan kita terima ketika misalnya kita bisa membuka alamat website yang kita inginkan.

Tentunya tidak hanya waktu membuka website, tetapi bisa juga ketika kita melakukan aksi lainnya terhadap resource/hypermedia yang ada di internet.

Dan biasanya kita bedakan secara semantik dengan HTTP Method :

Sekilas ttg HTTP Method di sini

HTTP Method Contoh Kasus Isi kembalian HTTP Status 200
GET Lihat resource, buka website target resource bisa berupa data body
POST Simpan data baru, Login ke website status dari aksi, atau hasilnya
PUT Update Data secara keseluruhan status dari aksi, atau hasilnya
PATCH Update Data sebagian status dari aksi, atau hasilnya
DELETE Hapus Data status dari aksi, atau hasilnya
OPTIONS Minta informasi mengenai opsi komunikasi yang diperbolehkan opsi komunikasi yang tersedia
HEAD Minta Http header nya saja target resource tanpa mengirimkan data body
CONNECT Minta request ke proxy untuk bikin tunnel ke target tidak ada response content
TRACE Minta tracing untuk request http nya request message yang dikirimkan

Jadi secara umum, aksi HTTP Method yang mengembalikan HTTP Response Status Code - 200 ini berguna untuk memberitahukan HTTP client, bahwa permintaannya sukses dijalankan di sisi server, tergantung dari tipe HTTP Methodnya.



HTTP Status Code - 201 - Created

Response Status Code 201 ini artinya Http requestnya sukses dijalankan di sisi server., dan menghasilkan satu atau lebih resource baru.

Contohnya ketika melakukan registrasi user baru di sebuah website, maka bisa saja mengembalikan status 201 ini.

Tentunya response message nya bisa saja mengembalikan dari URL/link yang mengacu ke resource yang baru saja dibuat, mengacu ke link userid yang baru ketika kita melakukan registrasi user.

Bisa ditaruh di HTTP Header Location atau Content-Location, atau juga status dari request baru tersebut sebagai informasi.

Kasus HTTP Response Status Code 201 juga bisa beragam, misalnya :

  • pembuatan key-value data baru di database, menggunakan fasilitas HTTP request.
  • pembuatan resource baru di Infrastructure as Code, memakai tools dengan HTTP request.
  • memunculkan event baru di sistem event based system.
  • pembuatan id baru transaksi ke database.
  • dll.


HTTP Status Code - 202 - Accepted

Response Status Code 202 ini artinya Http requestnya diterima dan sukses dijalankan di sisi server, tetapi prosesnya belum sempurna selesai.

Contohnya adalah ketika melakukan trigger proses batching (misalnya sinkronisasi data per hari antara database), melalui HTTP request.

Proses batching ini biasanya membutuhkan proses lama, bisa 1 jam, 2 jam, dst.

Sehingga tidak memungkinkan bagi request HTTP untuk mendapatkan response sesegera mungkin.

Sehingga dikirimkanlah Status Code 202 ini sebagain penanda bahwa request HTTP nya diterima dan telah dijalankan.

Dengan kata lain, Status Code 202 ini bisa digunakan sebagai sinyal sebuah proses asinkronous dilaksanakan, melalui request HTTP.

Tentunya di response message nya, harus disertakan URL tambahan yang mengacu ke link status dari proses batching/asinkronous nya.

Agar HTTP client bisa mengecek sampai dimana proses batching/asinkronous tersebut.


Kita lanjut ke Status Code 2xx - Bagian 2