HTTP - Tanggapan

Setelah menerima dan menafsirkan pesan permintaan, server menanggapi dengan pesan tanggapan HTTP:


     
  • A Status-line
  • Zero or more header (General|Response|Entity) fields followed by CRLF
  • An empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields
  • Optionally a message-body

Bagian berikut menjelaskan setiap entitas yang digunakan dalam pesan tanggapan HTTP.

Message Status-Line

Status-Line terdiri dari versi protokol yang diikuti dengan kode status numerik dan frase tekstual yang terkait. Elemen dipisahkan oleh spasi karakter SP.

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

Versi HTTP

Server yang mendukung HTTP versi 1.1 akan mengembalikan informasi versi berikut:

HTTP-Version = HTTP/1.1

Kode status

Elemen Kode-Status adalah bilangan bulat 3-digit di mana digit pertama dari Kode-Status mendefinisikan kelas respon dan dua digit terakhir tidak memiliki peran kategorisasi. Ada 5 nilai untuk digit pertama:

SN Kode dan Deskripsi
1 1xx: Informational

Artinya permintaan sudah diterima dan prosesnya terus berjalan.

2 2xx: Success

Artinya tindakan itu berhasil diterima, dipahami, dan diterima.

3 3xx: Redirection

Ini berarti tindakan lebih lanjut harus diambil untuk menyelesaikan permintaan tersebut.

4 4xx: Client Error

Artinya permintaan tersebut mengandung sintaks yang salah atau tidak dapat dipenuhi.

5 5xx: Server Error

Ini berarti server gagal memenuhi permintaan yang tampaknya valid.

Kode status HTTP dapat dikembangkan dan aplikasi HTTP tidak diperlukan untuk memahami arti dari semua kode status terdaftar. Daftar semua kode status telah diberikan dalam bab terpisah untuk referensi Anda.

Bidang Header Respons

Kita akan mempelajari General-header dan Entity-header dalam bab terpisah ketika kita akan mempelajari field header HTTP. Untuk saat ini, mari kita periksa apa itu kolom header Respon.

Kolom header-respons memungkinkan server untuk memberikan informasi tambahan tentang respons yang tidak dapat ditempatkan di Status- Line. Kolom header ini memberikan informasi tentang server dan tentang akses lebih lanjut ke resource yang diidentifikasi oleh Request-URI.

  • Accept-Ranges

  • Age

  • ETag

  • Location

  • Proxy-Authenticate

  • Retry-After

  • Server

  • Vary

  • WWW-Authenticate

Anda dapat memperkenalkan bidang kustom Anda jika Anda akan menulis Klien Web dan Server kustom Anda sendiri.

Contoh Pesan Respon

Sekarang mari kita gabungkan semuanya untuk membentuk respons HTTP untuk permintaan mengambil file hello.htm halaman dari server web yang berjalan di tutorialspoint.com

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Contoh berikut menunjukkan pesan respons HTTP yang menampilkan kondisi kesalahan saat server web tidak dapat menemukan halaman yang diminta:

HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
   <title>404 Not Found</title>
</head>
<body>
   <h1>Not Found</h1>
   <p>The requested URL /t.html was not found on this server.</p>
</body>
</html>

Berikut adalah contoh pesan respons HTTP yang menunjukkan kondisi kesalahan saat server web menemukan versi HTTP yang salah dalam permintaan HTTP yang diberikan:

HTTP/1.1 400 Bad Request
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Content-Type: text/html; charset=iso-8859-1
Connection: Closed
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
   <title>400 Bad Request</title>
</head>
<body>
   <h1>Bad Request</h1>
   <p>Your browser sent a request that this server could not understand.</p>
   <p>The request line contained invalid characters following the protocol string.</p>
</body>
</html>