HTTP (Hypertext Transfer Protocol)

 HTTP (Hypertext Transfer Protocol) adalah protokol standar untuk berkomunikasi antara browser web dan server web. Ini adalah protokol yang memungkinkan transfer data dari server ke browser, dan juga memungkinkan browser untuk mengirimkan data ke server. Berikut adalah contoh bentuk HTTP request dan response:

Contoh HTTP Request:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: en-US,en;q=0.9
Connection: keep-alive

Penjelasan dari contoh request di atas:

  1. GET
    method HTTP yang digunakan untuk mengambil halaman web atau sumber daya lainnya dari server.
  2. /index.html
    URI (Uniform Resource Identifier) dari halaman web yang diminta.
  3. HTTP/1.1
    versi protokol HTTP yang digunakan.
  4. Host
    header yang mengidentifikasi nama domain dari server yang diminta.
  5. User-Agent
    header yang memberi tahu server tentang jenis browser dan sistem operasi yang digunakan oleh pengguna.
  6. Accept
    header yang memberi tahu server jenis konten yang didukung oleh browser.
  7. Accept-Language
    header yang memberi tahu server tentang bahasa yang didukung oleh browser.
  8. Connection
    header yang memberi tahu server untuk menjaga koneksi terbuka untuk penggunaan berikutnya.

Contoh HTTP Response:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 52

<html>
<head>
<title>Contoh Halaman Web</title>
</head>
<body>
<h1>Selamat datang di contoh halaman web</h1>
</body>
</html>

Penjelasan dari contoh response di atas: 

  1. HTTP/1.1
    versi protokol HTTP yang digunakan.
  2. 200 OK
    status response yang menunjukkan bahwa permintaan berhasil dilakukan dan server mengembalikan konten yang diminta.
  3. Content-Type
    header yang menunjukkan tipe konten yang dikirimkan oleh server, dalam hal ini adalah text/html.
  4. Content-Length
    header yang menunjukkan panjang konten yang dikirimkan oleh server.
  5. Setelah header, ada konten dari halaman web yang diminta, dalam hal ini adalah sebuah dokumen HTML yang berisi judul halaman dan pesan sederhana.

Selain GET dan response, ada beberapa method HTTP lainnya yang dapat digunakan dalam sebuah request HTTP, diantaranya:

  1. POST: digunakan untuk mengirimkan data ke server. Method ini umumnya digunakan untuk mengirimkan data dari sebuah form yang telah diisi oleh pengguna. Data yang dikirimkan biasanya disertakan dalam body dari request.
  2. PUT: digunakan untuk mengirimkan data ke server untuk membuat atau mengganti sebuah sumber daya (resource) dengan data baru. Data yang dikirimkan biasanya disertakan dalam body dari request.
  3. DELETE: digunakan untuk menghapus sebuah sumber daya dari server.
  4. HEAD: digunakan untuk meminta informasi tentang sebuah sumber daya dari server, seperti informasi header dan status response, tetapi tanpa mengambil isi dari sumber daya itu sendiri.
  5. OPTIONS: digunakan untuk meminta informasi tentang kemampuan server, seperti method HTTP yang didukung atau header yang dapat digunakan.
  6. CONNECT: digunakan untuk menginisiasi koneksi ke server melalui sebuah proxy. Method ini digunakan terutama untuk tujuan keamanan dan tidak digunakan secara luas dalam aplikasi web.
  7. TRACE: digunakan untuk mengembalikan request yang diterima oleh server sebagai response. Method ini umumnya digunakan untuk debugging dan testing.
  8. PATCH: digunakan untuk memperbarui sebagian data dari sebuah sumber daya di server. Data yang dikirimkan biasanya disertakan dalam body dari request. 

Setiap method HTTP memiliki kegunaan dan tujuan yang berbeda-beda, tergantung pada jenis request yang ingin dikirimkan dan respons yang diharapkan dari server.