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 ?


Untuk part 1 , bisa dilihat di sini

Disana dibahas mengenai Response Status Code :

  • 200 - Success
  • 201 - Created
  • 202 - Accepted

Coba kita lihat daftar HTTP Status Code 2XX sisanya



HTTP Status Code - 203 - Non-Authoritative Information

Response Status Code 203 ini artinya Http requestnya diterima dan sukses dijalankan di sisi server, tetapi isi message response nya telah dimodifikasi, dibandingkan isi originalnya dari server aslinya, yang telah mengembalikan response Status Code 200 - Success

Umumnya perubahan isi message nya ini dilakukan di Proxy, sebagai perantara antara HTTP Client dengan HTTP Server.

Perubahannya bisa saja terkait dengan kasus Cache HTTP, penambahan informasi kalau melewati proxy, dll.

Dengan status code 203, maka HTTP Client diinformasikan mengenai perubahan ini, dan bisa bertindak berdasarkan apakah informasinya sudah dimodifikasi atau belum.



HTTP Status Code - 204 - No Content

Response Status Code 204 ini artinya Http requestnya diterima dan sukses dijalankan di sisi server, tetapi tidak ada tambahan data yang dikirimkan dalam response content

Misalnya ketika kita melakukan proses update terhadap sebuah data melalui HTTP request, memakai HTTP Method PUT.

HTTP Server sebenarnya tidak perlu mengembalikan informasi data yang berhasil diupdate, karena sebenarnya datanya sudah ada dari awal , dari payload nya HTTP Request.

Yang diperlukan oleh HTTP Client hanyalah status berhasil diupdate atau tidak, beserta tambahan HTTP Header, misalnya seperti E-Tag, Last Modification, dll.

Dengan kasus ini, maka HTTP Client misalnya browser, tidak perlu melakukan refresh halaman dengan data kiriman dari Server, tetapi tetap berada di halaman yang sama, tapi dengan “popup” atau menampilkan informasi bahwa datanya “berhasil diubah” atau “tidak berhasil diubah”



HTTP Status Code - 205 - Reset Content

Response Status Code 205 ini artinya Http requestnya diterima dan sukses dijalankan di sisi server, dan tidak ada tambahan data yang dikirimkan dalam response content, tetapi meminta HTTP Client/User Agent/Browser untuk mereset tampilan view document.

Kasus ini bisa kita temui misalnya dalam hal menginputkan data lewat browser satu-persatu.

Misalkan data Mahasiswa.

Kita menginput data Mahasiswa dalam sebuah Form HTML, kemudian melakukan submission melalui HTTP Request.

Ketika kembaliannya 205 - Reset Content, maka browser akan mengetahui bahwa HTTP Requestnya telah berhasil, dan segera setelahnya mereset isian dari form sebelumnya agar kembali ke kosong lagi, untuk diinput data Mahasiswa yang lain.

Response Status Code 205 ini mirip dengan Response Status Code 204, kecuali dibagian untuk Mereset document view nya.



HTTP Status Code - 206 - Partial Content

Response Status Code 206 ini artinya Http requestnya diterima dan sukses dijalankan di sisi server, tetapi hanya sebagian saja dari request tersebut yang bisa dikembalikan hasilnya/resource nya oleh server.

Kasus ini bisa kita temui untuk kasus HTTP yang requestnya sengaja dibagi/dipecah-pecah karena terlalu besar, atau memang sengaja dibagi-bagi dengan tujuan yang jelas.

Tentunya harus ditunjang oleh HTTP Server yang bisa menerima Range Request (HTTP request yang direquest sebagian-sebagian).

HTTP Server yang memiliki fasilitas HTTP Range Request ini harus bisa memenuhi semua request sebagian-sebagian sampai lengkap semuanya terpenuhi.

Misalnya :

  • Download manager, yang bisa melakukan pembagian download, melakukan pause download, resume download, dll
  • Video streaming, yang membagi byte yang dikirim waktu streaming melalui potongan-potongan / chunk.
  • Download image/document yang besar, dipecah-pecah per halaman.

HTTP Client harus melihat HTTP Header berikut agar bisa memastikan bagian request mana yang sudah selesai dan apakah perlu request tambahan :

  • HTTP Header Content-Type
  • HTTP Header Content-Range

Sementara HTTP Server harus mengirimkan beberapa HTTP Header juga sebagai penanda :

  • Date
  • Cache Control
  • ETag
  • Expires
  • Content Location
  • Vary.

Kita lanjut ke Status Code 3xx - Bagian 1