B. Protokol Web Server

Setiap permintaan HTTP mempunyai dua bagian, yaitu header dan content. Header untuk permintaan dan header untuk pelayanan berbeda. HTTP server hanya merespon apabila ada permintaan. Permintaan HTTP diberikan melalui URL, juga metode HTTP yang digunakan

Header pembuka HTTP, terdiri dari tiga bagian. Metode, URL, dan versi HTTP. Method bisa berisi GET, POST, PUT, HEAD. URL bisa berisi alamat sumber daya yang diminta, dan versi mengindikasikan versi protocol HTTP (sekarang 1.1 saat ini ditulis). HTTP server melakukan respon yang berbeda-beda seiring dengan perbedaan metode, url atau versi.

  1. Metode GET, digunakan untuk mengambil data.
  2. Metode POST, digunakan untuk memasang data.
  3. Metode PUT, digunakan untuk menaruh data, dan
  4. Metode HEAD digunakan untuk meminta informasi.

Berbeda dengan header pembuka permintaan, header pembuka respon bentuknya seperti ini.

Setelah header pembuka, akan ada lagi header-header lainya. Header ini berbentuk mapping, seperti kamus, dengan nama dan niainya. Header berbentuk mapping ini jumlahnya lebih banyak. Tidak mengikuti pola tertentu, dan diakhiri dengan baris kosong.

Gambar di atas merupakan struktur dari header mapping dari sisi permintaan. Isinya tidak terbatas, bahkan kita bisa menambahkan header sesuai dengan kebutuhan kita.

Fomat dari header mapping, mempunyai format <nama_mapping> : <nilai_mapping>, seperti Connection: Keep-Alive

Tipikal header respon dari server sama, dia juga tidak terbatas dan bisa disesuaikan dengan kebutuhan. Contohnya, apabila di web server ada sebuah file dengan nama index.html¸maka cara untuk mendapatkan file tersebut. Pengguna harus mengirimkan kepada web server permintaan yang berbentuk seperti ini.

Dengan mengirimkan permintaan seperti di atas, maka server akan merespon dengan bentuk seperti ini.

Setelah header mapping terakhir, ada satu baris kosong. Di bagian header mapping permintaan juga ada baris kosong, namun tidak terlihat karena pengguna yang meminta layanan tidak memberikan data apa-apa.