Servlet - Kode Status Http

Format permintaan HTTP dan pesan tanggapan HTTP serupa dan akan memiliki struktur berikut -

  • Baris status awal + CRLF (Carriage Return + Line Feed yaitu Jalur Baru)

  • Nol atau lebih baris header + CRLF

  • Baris kosong, yaitu CRLF

  • Badan pesan opsional seperti file, data kueri, atau keluaran kueri.

Misalnya, header respons server terlihat seperti berikut -

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
   (Blank Line)
<!doctype ...>
<html>
   <head>...</head>
   <body>
      ...
   </body>
</html>

Baris status terdiri dari versi HTTP (HTTP / 1.1 dalam contoh), kode status (200 dalam contoh), dan pesan yang sangat singkat sesuai dengan kode status (OK di contoh).

Berikut ini adalah daftar kode status HTTP dan pesan terkait yang mungkin dikembalikan dari Server Web -

Kode Pesan Deskripsi
100 Terus Hanya sebagian dari permintaan yang telah diterima oleh server, tetapi selama itu belum ditolak, klien harus melanjutkan permintaan
101 Switching Protocols Server beralih protokol.
200 baik Permintaannya oke
201 Dibuat Permintaan selesai, dan sumber daya baru dibuat
202 Diterima Permintaan diterima untuk diproses, tetapi pemrosesan tidak selesai.
203 Informasi Non-otoritatif  
204 Tidak ada isi  
205 Setel Ulang Konten  
206 Konten Parsial  
300 Pilihan ganda Daftar tautan. Pengguna dapat memilih link dan pergi ke lokasi tersebut. Maksimal lima alamat
301 Pindah Secara Permanen Halaman yang diminta telah dipindahkan ke url baru
302 Ditemukan Halaman yang diminta telah dipindahkan sementara ke url baru
303 Lihat Lainnya Halaman yang diminta dapat ditemukan di bawah url yang berbeda
304 Tidak dimodifikasi  
305 Gunakan proxy  
306 Tidak terpakai Kode ini digunakan di versi sebelumnya. Ini tidak lagi digunakan, tetapi kodenya sudah dipesan
307 Pengalihan Sementara Halaman yang diminta telah dipindahkan sementara ke url baru.
400 Permintaan yang buruk Server tidak memahami permintaan tersebut
401 Tidak resmi Halaman yang diminta membutuhkan nama pengguna dan kata sandi
402 Pembayaran Diperlukan Anda belum dapat menggunakan kode ini
403 Terlarang Akses dilarang ke halaman yang diminta
404 Tidak ditemukan Server tidak dapat menemukan halaman yang diminta.
405 Metode Tidak Diizinkan Metode yang ditentukan dalam permintaan tidak diperbolehkan.
406 Tidak dapat diterima Server hanya dapat menghasilkan respon yang tidak diterima oleh klien.
407 Autentikasi Proxy Diperlukan Anda harus mengautentikasi dengan server proxy sebelum permintaan ini dapat dilayani.
408 Request Timeout Permintaan membutuhkan waktu lebih lama daripada yang disiapkan server untuk menunggu.
409 Konflik Permintaan tidak dapat diselesaikan karena ada konflik.
410 Hilang Halaman yang diminta tidak lagi tersedia.
411 Panjang Diperlukan "Panjang-Konten" tidak ditentukan. Server tidak akan menerima permintaan tanpa itu.
412 Prekondisi Gagal Prasyarat yang diberikan dalam permintaan dievaluasi sebagai salah oleh server.
413 Entitas Permintaan Terlalu Besar Server tidak akan menerima permintaan, karena entitas permintaan terlalu besar.
414 Request-url Terlalu Panjang Server tidak akan menerima permintaan, karena urlnya terlalu panjang. Terjadi ketika Anda mengubah permintaan "post" menjadi permintaan "get" dengan informasi query yang panjang.
415 Jenis Media Tidak Didukung Server tidak akan menerima permintaan, karena jenis media tidak didukung.
417 Harapan Gagal  
500 Kesalahan server dari dalam Permintaan itu belum selesai. Server menemui kondisi yang tidak terduga.
501 Tidak Diterapkan Permintaan itu belum selesai. Server tidak mendukung fungsionalitas yang diperlukan.
502 Gateway Buruk Permintaan itu belum selesai. Server menerima tanggapan yang tidak valid dari server hulu.
503 Layanan tidak tersedia Permintaan itu belum selesai. Server kelebihan beban atau down untuk sementara.
504 Gateway Timeout Gerbang telah habis waktunya.
505 Versi HTTP Tidak Didukung Server tidak mendukung versi "protokol http".

Metode untuk Mengatur Kode Status HTTP

Metode berikut dapat digunakan untuk mengatur Kode Status HTTP dalam program servlet Anda. Metode ini tersedia dengan objek HttpServletResponse .

Sr.No. Metode & Deskripsi
1

public void setStatus ( int statusCode )

Metode ini menetapkan kode status arbitrer. Metode setStatus menggunakan int (kode status) sebagai argumen. Jika tanggapan Anda menyertakan kode status khusus dan dokumen, pastikan untuk memanggil setStatus sebelum benar-benar mengembalikan konten apa pun dengan PrintWriter .

2

public void sendRedirect(String url)

Metode ini menghasilkan respons 302 bersama dengan header Lokasi yang memberikan URL dokumen baru

3

public void sendError(int code, String message)

Metode ini mengirimkan kode status (biasanya 404) bersama dengan pesan singkat yang secara otomatis diformat di dalam dokumen HTML dan dikirim ke klien.

Contoh Kode Status HTTP

Berikut ini adalah contoh yang akan mengirimkan kode kesalahan 407 ke browser klien dan browser akan menunjukkan "Perlu otentikasi !!!" pesan.

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

// Extend HttpServlet class
public class showError extends HttpServlet {
 
   // Method to handle GET method request.
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set error code and reason.
      response.sendError(407, "Need authentication!!!" );
   }
   
   // Method to handle POST method request.
   public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      doGet(request, response);
   }
}

Sekarang memanggil servlet di atas akan menampilkan hasil berikut -

HTTP Status 407 - Need authentication!!!

type Status report

messageNeed authentication!!!

descriptionThe client must first authenticate itself with the proxy (Need authentication!!!).

Apache Tomcat/5.5.29