Apa yang bisa kami bantu?

A. Pendahuluan

Ketika sebuah website diakses oleh pembaca, ada kalanya ditemukan masalah atau pesan error atau biasa disebut dengan http status code yang bagi orang awam tentu sulit dipahami. Tetapi bagi seorang developer, kode status http tersebut memiliki makna unik yang memberikan informasi akan kendala yang terjadi di sistem.

 

B. Penjelasan

Hypertext Transfer Protocol (HTTP) adalah protokol jaringan di lapisan aplikasi yang digunakan untuk melakukan proses transfer data antar komputer. Protokol ini digunakan dalam sistem informasi yang terdistribusi dan didesain untuk tujuan kolaboratif. Masing-masing media (termasuk teks, gambar, dokumen, video dll) yang ada di dalamnya dihubungkan melalui sebuah tautan yang disebut dokumen hypertext, membentuk yang disebut dengan World Wide Web (WWW).

Fungsi HTTP juga mengatur format data dan proses transmisinya. Selain itu juga mengatur bagaimana web server layanan aplikasi dan browser di perangkat pengguna memproses berbagai macam perintah yang masuk.

Gambar 1: Gambaran cara kerja protokol HTTP dalam sebuah sistem web

 

Ilustrasi di atas menggambarkan konsep sederhana ketika seorang pengguna mengakses sebuah website. Pengguna akan sebuah request (perintah untuk melakukan tugas tertentu) dan Web Server akan memberikan Response (menampilkan apa yang diminta dalam browser). Tidak selamanya website dapat diakses secara lancar, terkadang terdapat kode error yang memberikan makna tertentu terkait kendala yang dialami sistem. Kode-kode tersebut dikenal dengan istilah teknis “HTTP Status Code”.

Gambar 2 : Alur kerja pesan error ketika sistem gagal melakukan tugasnya

Apa itu HTTP Status Codes?

HTTP Status Codes adalah sebuah kode respons standar yang diberikan oleh web server yang beroperasi di internet. Kode-kode ini membantu mengidentifikasikan masalah ketika ada sebuah halaman web atau sumber daya yang tidak berhasil termuat atau ditampilkan dengan baik. Istilah-istilah dalam HTTP Status Code terdiri dari kode-kode khusus beserta penjelasan terkait error yang saat itu terjadi. 

Istilah lain yang sering digunakan untuk menyebut HTTP Status Code ialah Browser Error Codes atau Internet Error Codes. Ada beberapa kode yang umum ditampilkan. Berikut daftar dan masing-masing status kode: 

Status code: 1xx Information

Kode tersebut berkaitan dengan Request dari protokol HTTP. Berfungsi untuk membaca dan menjelaskan permintaan pesan yang dikirimkan oleh client melalui browser. Kode tersebut memiliki beberapa turunan, misalnya:

  • 100 Continue: Mengindikasikan permintaan telah diterima dan proses sedang berlangsung.
  • 10 Switching Protocols: Mengindikasikan bahwa web server telah melakukan peralihan protokol.
      

Status code: 2xx Succesful

Kode status ini memberikan informasi bahwa Request yang diminta oleh pengguna telah diterima atau dipahami oleh sistem, dan telah diproses dengan baik.

 

Gambar 3 : Alur kerja status kode 2xx Successful

 

Dalam jenis status ini, terdapat beberapa kode yang umum ditampilkan oleh sistem, sebagai berikut:

  • 200 Successful Server: Mengindikasikan sistem berhasil memproses permintaan. Ini berarti bahwa server telah menyediakan halaman yang diminta secara utuh. Jika pengguna melihat status ini pada berkas robots.txt di web server, berarti Googlebot telah mengambil data (retrieve) dengan sukses. 
  • 201 Created: Mengindikasikan bahwa permintaan berhasil dan server telah membuat resource baru.
  • 202 Accepted: Mengindikasikan bahwa server telah menerima permintaan, tetapi belum diproses.
  • 203 Non-authoritative: Mengindikasikan Information Server berhasil memproses permintaan, tetapi menampilkan informasi yang mungkin berasal dari sumber lain.
  • 204 No content: Mengindikasikan bahwa server berhasil memproses permintaan, tetapi tidak menampilkan konten apa pun.
  • 205 Reset content Server: Mengindikasikan bahwa sistem berhasil memproses permintaan, tetapi tidak menampilkan konten apa pun. Tidak seperti response 204, respons ini mengharuskan pengguna mereset tampilan dokumen (misalnya, memasukan input baru pada form atau refresh pada halaman web).
  • 206 Partial Content Server: Mengindikasikan bahwa sistem telah berhasil memproses permintaan parsial (sebagian). 

Status code 3xx Redirect

Kode status ini menunjukkan bahwa tindakan lebih lanjut perlu dilakukan oleh agen pengguna untuk memenuhi permintaan. Berikut ini beberapa kode yang sering muncul:

  • 300 Multiple choices: Server memiliki beberapa pilihan tindakan berdasarkan permintaan dan memilih tindakan berdasarkan dari pemohon (user agent) atau server menyediakan daftar tindakan sehingga pemohon dapat memilih tindakan yang diinginkan.
  • 301 Moved permanently: Halaman yang diminta telah secara permanen dipindahkan ke lokasi baru. Ketika server mengembalikan respons ini (sebagai respon terhadap permintaan GET atau HEAD), secara otomatis mengarahkan pemohon ke lokasi baru. Anda harus menggunakan kode ini untuk memberi tahu Googlebot bahwa laman atau situs sudah permanen pindah ke lokasi baru.
  • 302 Moved temporarily : Hampir sama dengan 301, namun kode ini bersifat sementara. Dan Anda sebaiknya tidak memberitahu Googlebot bahwa laman atau situs telah dipindahkan karena Googlebot harus terus crawl dan indeks lokasi asli.
  • 303 See other location : Server mengembalikan kode ini ketika pemohon membuat permintaan GET terpisah ke lokasi yang berbeda untuk menerima respon. Untuk semua permintaan selain permintaan HEAD, server secara otomatis mengarahkan ke lokasi lain.
  • 304 Not modified : Halaman yang diminta belum dimodifikasi sejak permintaan terakhir. Ketika server menampilkan respons ini, tidak mengembalikan isi halaman.
     Anda harus mengkonfigurasi server Anda untuk menerima respon ini ( the If-Modified-Since HTTP header). Ini menghemat bandwidth dan overhead karena server Anda akan memberitahu Googlebot bahwa halaman belum berubah sejak terakhir kali crawling.
  • 305 Use proxy : Pemohon hanya dapat mengakses halaman yang diminta dengan menggunakan proxy. Ketika server menampilkan respons ini, itu juga menunjukkan proxy yang harus digunakan pemohon.
  • 307 Temporary redirect : Server sedang merespons permintaan dengan halaman dari lokasi yang berbeda, tetapi pemohon harus terus menggunakan lokasi asli untuk permintaan di masa depan. Kode ini mirip dengan 301. 

Status code 4xx Request Error

Kode status ini menunjukkan bahwa ada kemungkinan kesalahan dalam permintaan yang mencegah server untuk memprosesnya.

Gambar 4 : Alur kerja status kode 4xx Successful

  • 400 Bad Request :  Server tidak memahami sintaks/syntax permintaan.
  • 401 Not authorized : Permintaan membutuhkan otentikasi. Server biasanya menampilkan respon ini untuk halaman setelah login (page behind a login)
  • 403 Forbidden : Pada status 403, pengunjung sama sekali tidak dapat mengakses ke folder tujuan. Status 403 muncul disebabkan oleh kesalahan pengaturan hak akses pada folder. Cek kembali hak akses dari folder tujuan, hak akses yang normal untuk folder adalah 755 (rwxr-xr-x).
  • 404 Not Faund : menyatakan bahwa file/folder yang diminta, tidak ditemukan. Pastikan file/folder sudah di-upload ke account hosting, dan pastikan nama file/folder tersebut sudah sesuai dengan nama file/folder yang akan diakses (terutama pada penggunaan huruf besar dan kecil/case-sensitive).
  • 405 Method not allowed : Metode yang ditentukan dalam permintaan tidak diperbolehkan.
  • 406 Not acceptable : Halaman yang diminta tidak dapat merespons dengan karakteristik konten yang diminta.  
  • 407 Proxy Authentication Required : Ini kode status yang mirip dengan 401 (not authorized), tetapi menetapkan agar pemohon harus mengotentikasi menggunakan proxy.
  • 408 Request timeout : Request Time Out bisa terjadi jika koneksi jaringan internet lambat, sehingga server memutus request terhadap alamat yang dituju karena waktunya terlalu lama.  Untuk mengatasinya re-fresh halaman tersebut, jika masih sama berarti jaringan provider yang sedang digunakan tidak bagus atau sedang mengalami gangguan.
  • 409 Conflict : Pesan error ini muncul ketika kita sedang mengakses sebuah situs, namun pada saat yang bersamaan pemilik situs sedang mengedit halaman sehingga terjadi konflik, dan tidak dapat diproses oleh komputer server.
  • 410 Gone : Server menampilkan respon ini ketika sumber yang diminta telah dihapus secara permanen. Hal ini mirip dengan kode 404 (Not found). Jika sumber telah dipindahkan secara permanen, Anda harus menggunakan kode 301 untuk menentukan lokasi baru sumber.
  • 411 Length required : Server tidak akan menerima permintaan tanpa Content-Length header field yang sah.
  • 412 Precondition failed : Server tidak memenuhi salah satu prasyarat yang pemohon gunakan untuk permintaan.
  • 413 Request entity too large : Server tidak dapat memproses permintaan karena terlalu besar untuk server tangani.
  • 414 Requested URI is too long : Pesan error seperti ini sudah jarang dijumpai karena URL sudah dibuat sedemikian rupa lebih singkat. Kode error ini berarti URL yang ingin dituju terlalu panjang dan server tak mampu memprosesnya.
  • 415 Unsupported media type : Error ini akan muncul jika kita menggunakan jenis media yang tidak didukung atau tidak diizinkan oleh server. Misalnya kita mengunggah file gambar dengan format .PNG, namun server hanya mengizinkan format .JPG atau .GIF. Umumnya server tidak akan menampilkan status ini pada browser kita saat kondisi tersebut terjadi, melainkan hanya menampilkan pemberitahuan bahwa file gambar yang kita unggah tersebut tidak sesuai.
  • 416 Requested range not satisfiable : Server menampilkan kode status ini jika permintaan untuk rentang/range tidak tersedia untuk halaman tersebut.
  • 417 Expectation failed : Server tidak dapat memenuhi persyaratan Expect request-header field. 


 

Status code 5xx Server Error

Kode status ini menunjukkan bahwa server mengalami galat/error internal saat mencoba untuk memproses permintaan tersebut. Kesalahan ini cenderung dari server sendiri, tidak berkaitan dengan permintaan.

 

Gambar 5 : Alur kerja status kode 5xx Successful

  • 500 Internal Server Error : Status 500 menyatakan bahwa ada kesalahan konfigurasi pada account hosting. Cek kembali file .htaccess pada account hosting Anda, dan pastikan setiap barisnya sudah tertulis dengan benar.
  • 501 Not implemented : Merupakan pesan yang menjelaskan bahwa Server tidak memiliki fungsi untuk memenuhi permintaan dari pengguna. Misalnya, server akan menampilkan kode ini ketika tidak mengenali permintaan user.
  • 502 Bad Gateway : merupakan pesan yang menjelaskan bahwa Server saat ini bertindak sebagai gateway atau proxy dan menerima respon tidak valid dari file server.
  • 503 Service unavailable : Server saat ini tidak tersedia (karena kelebihan beban atau dalam proses maintenance ). Umumnya, ini bersifat sementara.
  • 504 Gateway timeout : Merupakan pesan yang menjelaskan bahwa Server bertindak sebagai gateway atau proxy dan tidak menerima permintaan tepat waktu dari server upstream.
  • 505 HTTP version not supported : Server tidak mendukung versi protokol HTTP yang digunakan dalam permintaan.

HTTP status code yang telah diuraikan di atas memberikan informasi spesifik kepada pemilik website, sehingga Anda dapat secara akurat mengambil langkah penyelesaian sesuai dengan kode yang diberikan.