Open Source Code

Sabtu, 08 Juni 2013

HTTP Respond Code

HTTP merupakan protokol yang memainkan peran penting dalam internet. HTTP mengirimkan kode-kode khusus saat client mengirimkan request. Dapat berupa file, script, atau akses tertentu. Kode ini dapat memberi informasi tentang status halaman atau informasi yang berkaitan dengan server yang bertugas menanggapi request tersebut. Nah, kode-kode tersebut dinamakan HTTP Respond Code. Beberapa ada yang menyebutnya HTTP Status Code, kode status HTTP, dan lain sebagainya.


Paling tidak ada tida versi kode HTTP Respond: RFC 2616 (HTTP/1.1), IANA (Internet Assigned Numbers Authority), dan Microsoft IIS (Internet Information Service). Microsoft IIS menggunakan tambahan sub-kode untuk memberi kode-kode yang lebih spesifik kepada user.

Ada lima kelas dari HTTP respond code. Kode kelas ditempatkan pada digit pertama kode respon. Kelima kelas tersebut adalah sebagai berikut: 


Informational [1**]

Nama lainnya adalah provisional response. Maksudnya kode yang dikirim merupakan balasan sementara. http meminta user untuk melanjutkan permintaan. Dalam dunia nyata, kode ini tidak harus dikirimkan kepada user.

100 Lanjutkan/Continue: 
Server telah menerima permintaan client dan cliient harus melanjutkan untuk mengirim request lanjutan atau detil. Misalnya pada POST request. 

101 Pergantian Protokol: 
Client meminta server untuk beralih protokol dan server mengirimkan 101 sebagai tanda bahwa server akan melakukannya.

102 Pengolahan/Processing:
Pengolahan muncul ketika request yang kita lakukan membutuhkan sub-request lain yang membutuhkan waktu cukup lama dalam memprosesnya. Server mengirim 102 supaya client tetap terhubung dengan server dan tidak terjadi timeout.


Success [2**]

Kode ini menandakan permintaan client telah berhasil diterima, dipahami, dan diproses dengan baik oleh server.

200 OK
Permintaan berhasil diterima. Apabila request berupa GET, respon akan berisi file atau resource yang diminta. Apabila request berupa POST, maka balasan akan berupa deskripsi atau hasil dari request.

201 Dibuat / Created
Permintaan telah dipenuhi dan server membuat file atau sumber daya yang diinginkan.

202  Diterima
Permintaan telah diterima untuk diproses, tetapi pengolahan belum selesai. Permintaan mungkin atau tidak mungkin pada akhirnya akan ditindaklanjuti, karena akan menjadi batasan saat proses sebenarnya terjadi.

203  Informasi Tidak Resmi
Server berhasil memroses permintaan, tetapi balasan yang dikirimkan mungkin berasal dari sumber lain. 

204  Tidak Ada Konten
Server berhasil memroses permintaan, tetapi tidak mengembalikan konten apa pun. 

205  Reset Konten
Server berhasil memroses permintaan, tetapi tidak mengembalikan konten apa pun. Tidak seperti respon 204, respons ini mengharuskan pemohon mengubah tampilan dokumen. Misalnya mengubah jenis input baru pada form.

206  Partial Content/Konten Sebagian
Server memberikan sebagian dari resource yang diminta karena rentang header (range header) dikirim oleh client. Header range digunakan oleh alat-alat seperti wget untuk melanjutkan download yang terputus, atau membagi koneksi download menjadi beberapa bagian.

207  Multi-Status 
Pesan dikirim dan diikuti oleh XML code yang berisi sejumlah kode respon terpisah, tergantung pada berapa banyak sub-request dibuat oleh client. 

208  Sudah Dilaporkan
Bagian dari DAV binding telah disebutkan dalam reply sebelumnya untuk permintaan ini, dan tidak disertakan lagi pada request seterusnya.

250 Low Storage Space
Server mengembalikan peringatan ini setelah menerima permintaan RECORD yang mungkin tidak dapat dipenuhi karena ruang penyimpanan tidak cukup. Jika memungkinkan, server harus menggunakan Range Header untuk menunjukkan kapan terakhir server mampu merekam data baru. 

226  IM Telah Digunakan
Server telah menerima request GET untuk suatu file atau data, namun balasannya adalah representasi dari hasil satu atau beberapa sample copy yang diterapkan pada saat itu.


Redirect [3**]

Klien harus mengambil tindakan tambahan untuk melengkapi permintaan, misalnya berpindah alamat (url) request. Redirect dapat dilakukan dengan atau tanpa konfirmasi user, tetapi informasi redirect harus dikirimkan kepada user agar di proses selanjutnya user tidak salah alamat. Redirect otomatis dibatasi hingga lima kali. Apabila lebih, maka request akan berhenti dan dicap sebagai loop tak terbatas.

300  Multiple Choices
Menunjukkan beberapa pilihan untuk sumber daya yang dapat client pilih. misalnya, dapat digunakan untuk menyajikan pilihan format yang berbeda untuk file video, dengan berbagai ekstensi.

301  Dipindahkan Secara Permanen
Request saat ini serta semua permintaan selanjutnya harus diarahkan ke URL tertentu yang diberikan.

302  Dipindahkan Sementara
Hampir sama dengan 301, namun kode ini bersifat sementara. Client perlu melakukan redirect sementara.

303  Lihat Lokasi Lainnya
Dengan menggunakan metode GET, server menemukan konten yang diminta client pada lokasi lain. Kemudian server mengirimkannya kembali dengan GET message terpisah. 

304  Tidak Diubah
Halaman yang diminta belum dimodifikasi sejak permintaan terakhir. Ketika server menampilkan respons ini, tidak mengembalikan isi halaman.

305  Penggunaan Proxy 
Sumber daya yang diminta hanya tersedia melalui proxy, yang alamatnya disediakan dalam balasan.

306  Beralih Proxy
Tidak lagi digunakan. Pesan ini berartii "permintaan berikutnya harus menggunakan proxy yang ditentukan."

307  Temporary Redirect
Dalam hal ini, permintaan harus diulang dengan URL lain. Tetapi permintaan berikutnya client harus menggunakan alamat asli kembali.

308  Permanent Redirect
Request saat ini, dan semua permintaan masa depan harus diulang dengan menggunakan URL lain.


Request Error [4**]

Mengindikasikan client melakukan kesalahan sehingga server tidak dapat menanggapi request tersebut.

400  Bad Request
Permintaan tidak dapat dipenuhi karena server tidak memahami syntax yang dikirim.

401 Tidak Sah
Serupa dengan 403 Forbidden. Tetapi401 terjadi karena server membutuhkan autetifikasi. Biasanya muncul pada halaman-halaman login.

402  Pembayaran Diperlukan
Akan diterapkan pada masa depan. Kode ini digunakan pda pembayaran online.

403  Forbidden
Request dari client adalah permintaan yang valid, tapi server menolak untuk menanggapinya. Server masih memerlukan otentikasi tambahan, hal ini biasanya berarti bahwa mandat yang disediakan berhasil dikonfirmasi tetapi bahwa kredensial atau akses tidak memberikan izin klien untuk mengakses file (misalnya pengguna mencoba untuk mengakses konten terbatas).

404  Tidak Ditemukan
Sumber daya yang diminta tidak dapat ditemukan tetapi mungkin tersedia lagi di masa depan.

405  Metode Tidak Diizinkan
Request dibiuat dengan metode yang tidak didukung server. misalnya, menggunakan metode GET pada form yang membutuhkan data yang akan disajikan melalui POST, atau menggunakan PUT pada sumber daya read-only.

406  Tidak Dapat Diterima
Sumber daya yang diminta hanya mampu menghasilkan konten tidak dapat diterima tergantung dari header yang dikirimkan oleh client. Misal client meminta file .jpg, tetapi server hanya mampu menangani file teks.

407  Otentikasi Proxy Diperlukan
Klien harus terlebih dahulu mengotentikasi diri sendiri dengan proxy.

408  Request Timeout
Server kehabisan waktu menunggu permintaan.

409  Konflik
Menunjukkan bahwa permintaan tidak dapat diproses karena konflik dalam permintaan. Server menampilkan kode ini dalam menanggapi permintaan PUT yang bertentangan dengan permintaan sebelumnya, bersama dengan daftar perbedaan antara permintaan.

410  Hilang
Menunjukkan bahwa sumber daya yang diminta tidak lagi tersedia dan tidak akan tersedia lagi. 

411  Panjang / length Diperlukan
Server tidak akan menerima permintaan tanpa Content-Length header field yang sah.

412  Prasyarat Gagal
Server tidak memenuhi salah satu prasyarat yang client minta.

413  Entitas Permintaan Terlalu Besar
Permintaan lebih besar dari kapasitas server atau diatas kemampuan server untuk memproses.

414  Request-URI Too Long
The URI disediakan terlalu lama untuk diproses server.

415  Jenis Media Tidak Didukung
Request  memiliki jenis media yang tidak didukung server. Misalnya klien mengupload gambar sebagai jpg / svg + xml , tetapi server mengharuskan gambar menggunakan format yang berbeda, misalnya PNG.

416  Rentang Permintaan Tidak Tersedia
Klien telah meminta sebagian dari file, tetapi server tidak dapat menyediakan porsi itu. Sebagai contoh, jika klien meminta bagian dari file yang terletak di luar akhir file. 

417  Harapan Gagal/ Expectation Failed
Server tidak dapat memenuhi persyaratan Expect request-header field.

418  Aku Teko / I’m A Teapot
Kode ini didefinisikan pada tahun 1998 sebagai salah satu IETF dalam lelucon April Mop : Hyper Text Coffee Pot Control Protocol. Di dunia nyata, kode ini tidak digunakan.

420 Enhance Your Calm
Bukan bagian dari standar HTTP, namun dipopulerkan kembali oleh Twitter Search dan Trends API.

422  Unprocessable Entity
Request dari client sah, tetapi tidak dapat diikuti server  karena kesalahan semantik.

423 Terkunci
Sumber daya yang sedang diakses terkunci.

424  Gagal Ketergantungan / Failed Dependency
Permintaan gagal karena kegagalan dari permintaan sebelumnya (misalnya PROPPATCH). 

424  Method Failure (WebDAV)
Menunjukkan metode ini tidak dijalankan pada sumber daya tertentu dalam ruang lingkup karena beberapa bagian dari pelaksanaan metode gagal menyebabkan seluruh metode untuk dibatalkan.

425  Unordered Collection (Internet draft)
Ditetapkan di rancangan " WebDAV Advanced Collections Protocol ", tetapi tidak hadir dalam " Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol".

426  Peningkatan Diperlukan 
Klien harus beralih ke protokol yang berbeda seperti TLS/1.0 .

428  Prasyarat Diperlukan 
Server asal memerlukan permintaan untuk menjadi bersyarat. 

429  Terlalu Banyak Permintaan
Pengguna telah mengirimkan permintaan terlalu banyak dalam jumlah waktu tertentu. 

431 Permintaan Header Field Terlalu Besar 
Server tidak bersedia untuk memproses permintaan karena individual header field, atau semua header field kolektif, terlalu besar. 

444  No Response (Nginx)
Digunakan dalam log Nginx untuk menunjukkan bahwa server tidak mengirimkan informasi ke klien dan menutup sambungan (berguna sebagai pencegah malware).

449  Retry Dengan ... \ Retry With (Microsoft)
Permintaan harus diulang lagi setelah user melakukan tindakan yang tepat.

450  Diblokir Oleh  Windows Parental Controls (Microsoft)
Kesalahan ini diberikan ketika Windows Parental Controls diaktifkan dan memblokir akses ke halaman web yang dituju.

451  Parameter Tidak Dipahami (RTSP)
Server tidak mendukung satu atau lebih parameter yang terkandung dalam permintaan.

451 Tidak tersedia Untuk Alasan Hukum (Internet draft)
Ditetapkan dalam draft internet " A New HTTP Status Code for Legally-restricted Resources ". Dimaksudkan untuk digunakan ketika akses sumber daya ditolak karena alasan hukum, misalnya disensor atau pemerintah meminta akses ini diblokir.

451  Redirect (Microsoft)
Digunakan pada Exchange ActiveSync jika ada server yang lebih efisien untuk digunakan atau server saat ini tidak dapat mengakses kotak surat pengguna. Klien diminta kembali menjalankan protokol HTTP autodiscovery untuk menemukan server yang cocok.

452  Konferensi Tidak Ditemukan (RTSP)
Konferensi ditunjukkan  Conference header field  tidak diketahui oleh server media. 

453  Bandwidth Tidak Cukup (RTSP)
Permintaan itu ditolak karena ada bandwidth yang cukup.

454  Sesi Tidak Ditemukan (RTSP)
Sesi RTSP identifier dalam header Sesi hilang, tidak sah, atau telah habis waktunya. 

455  Metode Tidak Valid Dalam Kondisi Ini (RTSP)
Klien atau server tidak dapat memproses permintaan dalam kondisi saat ini. Balasan HARUS membiarkan header untuk membuat pemulihan kesalahan lebih mudah. 

456 Header Field Tidak Berlaku Untuk Resource (RTSP)
Server tidak dapat bertindak pada request header yang dibutuhkan. 

457  Range Tidak Valid (RTSP)
Rentang nilai yang diberikan di luar batas, misalnya, di luar akhir presentasi. 

458  Parameter  Read-Only (RTSP)
Parameter yang akan ditetapkan oleh SET_PARAMETER dapat dibaca tetapi tidak dapat dimodifikasi.

459  Operasi Aggregate Tidak Diizinkan (RTSP)
Metode yang diminta tidak dapat diterapkan pada URL tersebut karena merupakan URL (presentasi) aggregate. 

460  Hanya Operasi Aggregate Yang Diizinkan (RTSP)
Metode yang diminta tidak dapat diterapkan pada URL tersebut karena bukan merupakan URL (presentasi) aggregate.

461  Transport Tidak Didukung / Unsupported  Transport
Tidak mengandung spesifikasi transport yang didukung. [ 5 ]

462  Tujuan Tak Dapat Dijangkau / Destination Unreachable (RTSP)
Saluran transmisi data tidak dapat ditentukan karena alamat klien tidak bisa dihubungi. 

494  Request Header Terlalu Besar (Nginx)
Kode internal nginx yang mirip dengan 431 tetapi telah diperkenalkan sebelumnya. 

495  Cert Error (Nginx)
Kode internal nginx yang digunakan ketika terjadi kesalahan sertifikasi SSL client.

496  Tidak Ada Cert (Nginx)
Kode internal nginx yang digunakan ketika klien tidak memberikan sertifikat untuk membedakannya dari 4XX dalam log dan pengalihan halaman kesalahan.

497 HTTP Ke HTTPS (Nginx)
Kode internal nginx yang digunakan untuk permintaan HTTP biasa yang dikirim ke port HTTPS untuk membedakannya dari 4XX dalam log dan pengalihan halaman kesalahan.

499  Permintaan Client Tertutup (Nginx)
Digunakan dalam log Nginx untuk menunjukkan bila koneksi telah ditutup oleh klien sementara server masih memproses permintaan nya, membuat server tidak dapat mengirim kode status kembali. 


Server Error [5**]

Kebalikan dari 4**. Server gagal memproses request dengan baik, meskipun server mengetahui kalau request tersebut valid. Server harus mampu memberi penjelasan situasi serta dimana letak kesalahan. Serta memberi informasi apakah itu kesalahan sementara atau permanen. 

500  Internal Error Server
Server mengalami galat/error dan tidak dapat memenuhi permintaan.

501  Not Implemented
Server tidak memiliki fungsi untuk memahami atau memenuhi permintaan. 

502 Bad Gateway
Server bertindak sebagai gateway atau proxy dan menerima respon tidak valid dari upstream server. 

503  Layanan Tak Tersedia
Server saat ini tidak tersedia (karena kelebihan beban atau dalam proses pemeliharaan). Secara umum, ini hanyalah kondisi sementara.

504  Gateway Timeout
Server bertindak sebagai gateway atau proxy dan tidak menerima respon yang tepat waktu dari server upstream.

505  HTTP Version Not Supported
Server tidak mendukung versi protokol HTTP yang digunakan dalam permintaan. 

506  Variant Also Negotiates
Transparent content negotiation yang diminta client berujung pada circular reference.

507  Insufficient Storage
 Server tidak dapat menyimpan representasi yang diperlukan untuk menyelesaikan permintaan.

508  Loop Terdeteksi (Webdav, RFC 5842)
Server mendeteksi infinite loop saat memproses permintaan (dikirim sebagai pengganti 208).

509  Bandwidth Limit Exceeded 
Kode status ini digunakan pada banyak server, tetapi tidak atau belum ditentukan dalam RFC.

510  Not Extended
Ekstensi lebih lanjut diperlukan oleh server untuk memenuhi permintaan client.

511  Jaringan Otentikasi Diperlukan ( RFC 6585 )
Klien perlu mengotentikasi untuk mendapatkan akses jaringan. Digunakan untuk mencegat proxy yang digunakan mengontrol akses ke jaringan.

551  Pilihan Tidak Didukung (RTSP)
Sebuah opsi yang butuhkan dalam Proxy-Require fields tidak didukung.

598  Network Read Timeout Error
Kode status ini tidak ditentukan dalam RFC, tapi digunakan oleh Microsoft HTTP proxies. 

599  Network Connect Timeout Error 
Sama seperti 598, kode status ini tidak ditentukan dalam RFC, tapi digunakan oleh Microsoft HTTP proxies. 


=========================================================
Referensi

Tidak ada komentar:

Posting Komentar