Body Request dan Response

Apa sebenarnya body dalam HTTP: muatan yang dibawa request dan response. Pahami method mana yang punya body, cara kerja Content-Type, dan kenapa JSON ada di mana-mana.

Diterbitkan 15 September 20267 menit bacaOleh ACY Partner Indonesia
Body Request dan Response — muatan dalam pesan HTTP
300 × 250Slot Iklan TersediaPasang iklan Anda di sini

Setiap kali kamu mendaftar di sebuah situs, menulis komentar, atau membuka halaman penuh gambar, ada sesuatu yang dikirim bolak-balik antara browser dan server. “Sesuatu” itu — kontennya, datanya, file-nya — disebut body dari sebuah pesan HTTP. Header menjelaskan paketnya, tapi body adalah paket itu sendiri.

Lewat artikel ini kamu akan paham dengan gamblang apa itu body, kapan sebuah request membawanya, apa yang dikirim balik lewat response, dan bagaimana sebuah header kecil bernama Content-Type memastikan penerima tahu cara membacanya.

Apa itu body sebenarnya

Bayangkan pesan HTTP seperti sebuah amplop surat. Di luar amplop ada alamat, perangko, dan catatan — itu ibarat baris request dan header. Di dalam amplop ada surat itu sendiri — itulah body.

Body adalah muatannya: isi yang sebenarnya. Saat browser meminta sebuah halaman web, HTML halaman itu datang di dalam body. Saat kamu mengirim form, nilai-nilai yang kamu ketik dikemas ke dalam body lalu dikirim. Body bisa berupa teks biasa, data terstruktur seperti JSON, gambar, video, PDF, atau apa pun.

+--------------------------------------+
| Baris request: POST /signup HTTP/1.1 |  <- apa & ke mana
| Header:        Content-Type: ...     |  <- soal paketnya
|                Content-Length: ...   |
|                                      |
| (baris kosong memisahkan head & body)|
|                                      |
| Body:          { "name": "Jane" }    |  <- muatan sebenarnya
+--------------------------------------+

Perhatikan baris kosongnya. Dalam pesan HTTP, header datang lebih dulu, lalu satu baris kosong, baru body. Baris kosong itulah penanda bagi penerima: “deskripsinya sudah selesai, konten yang sebenarnya mulai di sini.”

Head vs body

Head sebuah pesan (baris request, baris status, dan header) adalah metadata — informasi tentang konten. Sedangkan body adalah kontennya itu sendiri. Tidak semua pesan punya body, tapi setiap pesan pasti punya head.

Body request: yang kamu kirim ke server

Body request adalah data yang dikirim klien (biasanya browser, tapi bisa juga aplikasi mobile atau sebuah skrip) ke server. Kamu memakainya setiap kali perlu menyerahkan informasi: form login, tulisan blog baru, foto yang diunggah, atau pembayaran.

Beberapa bentuk umum body request:

  • Form data — format klasik saat kamu mengirim sebuah <form> HTML. Nama field dan nilainya digabung, misalnya name=Jane+Doe&email=jane%40example.com.
  • JSON — format teks yang rapi dan terstruktur, dipakai hampir semua aplikasi dan API modern. Nanti kita bahas lebih dekat.
  • Unggahan file — byte mentah dari gambar, dokumen, atau video, sering dikirim dalam format khusus bernama multipart/form-data yang bisa membungkus file dan field sekaligus.

Begini wujud sebuah request dengan body JSON dari awal sampai akhir:

POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Content-Length: 54

{
  "name": "John Doe",
  "email": "john@example.com"
}

Baris-baris awal adalah method dan header. Lalu baris kosong. Lalu body — objek JSON yang kamu kirim untuk membuat user baru.

Body response: yang dikirim server balik

Body response adalah data yang dikirim server kembali ke klien setelah menangani request. Bagian inilah yang biasanya kamu lihat atau pakai: halaman web, hasil pencarian, gambar, atau file yang diunduh.

Body response punya banyak bentuk:

Jenis konten Yang dibawanya Kamu lihat saat…
text/html HTML sebuah halaman web Membuka situs biasa
application/json Data terstruktur untuk dibaca aplikasi Aplikasi mengambil data dari API
image/png Byte sebuah gambar PNG Memuat gambar
application/pdf Dokumen PDF Mengunduh sebuah faktur
text/css Aturan stylesheet Browser memuat gaya halaman

Jadi ide yang sama — body yang membawa muatan — mencakup semuanya, mulai dari halaman web sederhana sampai streaming video raksasa. Yang berubah hanya jenis kontennya.

   Browser                         Server
      |                               |
      |  ──── request (mungkin body) >|
      |                               |  menyusun response
      |  <── response (dengan body) ──|
      |                               |
   menampilkan halaman / memakai data

Method mana yang punya body?

Tidak setiap request perlu mengirim data. Kalau kamu cuma meminta sebuah halaman, tidak ada yang perlu diserahkan. Tapi kalau kamu membuat atau mengubah sesuatu, kamu biasanya perlu mengirim detailnya.

Method Tujuan umum Biasanya punya body request?
GET Mengambil sebuah resource Tidak
DELETE Menghapus sebuah resource Umumnya tidak
POST Membuat / mengirim data Ya
PUT Mengganti sebuah resource Ya
PATCH Memperbarui sebagian resource Ya

GET adalah yang perlu kamu ingat: ia meminta sesuatu dan tidak mengirim body. Semua yang perlu kamu sertakan lewat GET dimasukkan ke dalam URL-nya (seperti ?page=2&sort=newest). Sebaliknya, POST, PUT, dan PATCH memang ada untuk membawa data, jadi body itu wajar dan memang diharapkan.

Request GET dan body

Secara teknis aturan HTTP tidak benar-benar melarang body pada request GET, tapi pada praktiknya hampir tidak ada yang mendukungnya, dan itu membingungkan server, cache, serta berbagai tool. Pegangannya: kalau ada data yang mau dikirim, pakai POST atau PUT, bukan GET.

Response lain ceritanya. Hampir semua response punya body — entah halaman, data, atau pesan error. Pengecualian utamanya adalah response yang memang hanya untuk melaporkan hasil, seperti 204 No Content (berhasil, tidak ada yang dikembalikan) atau response untuk request HEAD (yang sengaja hanya meminta header).

Content-Type: label yang memberi tahu cara membacanya

Body hanyalah deretan byte. Byte yang sama itu bisa jadi teks, gambar, atau data terkompresi — penerima mustahil tahu kecuali kamu memberitahunya. Di situlah tugas header Content-Type.

Content-Type mengumumkan format body supaya pihak lain tahu cara menafsirkannya. Beberapa nilai yang umum:

  • text/html — perlakukan sebagai halaman web
  • application/json — uraikan sebagai data JSON
  • text/plain — teks biasa, tanpa keistimewaan
  • image/jpeg — tampilkan sebagai gambar JPEG
  • application/x-www-form-urlencoded — form data HTML klasik
  • multipart/form-data — form data yang bisa menyertakan unggahan file

Ini bekerja dua arah. Saat kamu mengirim body, kamu mengatur Content-Type agar server membacanya dengan benar. Saat server membalas, ia mengatur Content-Type supaya browser tahu apakah harus menggambar halaman, menampilkan gambar, atau memicu unduhan.

Kalau labelnya salah

Kalau Content-Type tidak cocok dengan body sebenarnya, hasilnya rusak dengan cara yang membingungkan — JSON datang tapi server menganggapnya teks biasa, atau halaman muncul sebagai kode mentah alih-alih tampilan yang rapi. Ketika sebuah request “tidak jalan”, Content-Type adalah salah satu hal pertama yang patut diperiksa.

Melihat JSON lebih dekat

JSON (JavaScript Object Notation) adalah format yang paling sering kamu temui dalam pengembangan web modern, jadi layak dibahas sebentar. Walau namanya begitu, JSON sudah tidak terikat lagi pada JavaScript — hampir semua bahasa bisa membaca dan menulisnya.

JSON hanyalah teks, disusun dalam bentuk pasangan kunci–nilai. Kunci adalah label di dalam tanda kutip; nilainya bisa berupa teks, angka, true/false, sebuah daftar, atau objek lain yang bersarang.

{
  "id": 42,
  "name": "Jane Doe",
  "isActive": true,
  "roles": ["editor", "reviewer"],
  "address": {
    "city": "Jakarta",
    "country": "ID"
  }
}

Bacalah seperti formulir berlabel: name adalah “Jane Doe”, isActive bernilai true, roles adalah daftar berisi dua item, dan address adalah objek kecil yang terselip di dalam. Struktur inilah yang membuat JSON populer — mudah dibaca manusia sekaligus gampang diuraikan program.

Saat data ini melaju di dalam body HTTP, pesannya dipasangkan dengan Content-Type: application/json, dan penerima jadi tahu untuk menguraikan teks itu menjadi data terstruktur, bukan memperlakukannya sebagai string biasa.

Menyatukan semuanya

Mari telusuri satu perjalanan bolak-balik yang utuh. Bayangkan sebuah aplikasi di blog.acy-partner.com membuat akun baru:

POST /api/accounts HTTP/1.1
Host: blog.acy-partner.com
Content-Type: application/json

{ "name": "John Doe", "plan": "free" }

Server membaca body JSON-nya, membuat akun, lalu menjawab:

HTTP/1.1 201 Created
Content-Type: application/json

{ "id": 1009, "name": "John Doe", "status": "active" }

Kedua pesan punya body. Keduanya melabelinya dengan Content-Type. Body request membawa apa yang harus dibuat; body response membawa apa yang sudah dibuat. Mekanismenya sama, arahnya berlawanan.

Rangkuman

Body adalah inti sebuah pesan HTTP — muatan yang sebenarnya, dipisahkan dari header oleh satu baris kosong. Ini yang perlu kamu bawa pulang:

  • Body request adalah data yang kamu kirim ke server (form data, JSON, unggahan file). Body response adalah yang dikirim server balik (HTML, JSON, gambar, file).
  • Method seperti POST, PUT, dan PATCH umumnya membawa body request; GET tidak — datanya masuk ke URL.
  • Hampir semua response punya body, kecuali yang memang sengaja kosong seperti 204 No Content.
  • Content-Type adalah label yang memberi tahu penerima cara membaca body. Kalau benar, semuanya berjalan mulus.
  • JSON adalah format terstruktur sehari-hari: teks pasangan kunci–nilai yang mudah dibaca, dipasangkan dengan application/json.

Begitu konsep body terasa jelas, langkah berikutnya yang masuk akal adalah melihat kode status — jawaban angka singkat (seperti 200, 201, 404) yang dikirim server bersama body response untuk menyatakan bagaimana hasil request-nya. Bersama-sama, status dan body menceritakan kisah lengkap dari setiap pertukaran di web.

Tag:httpbody requestbody responsecontent-typejsonweb fundamentals
728 × 90Slot Iklan TersediaPasang iklan Anda di sini

Artikel Terkait

Lihat Semua Artikel

Artikel yang Mungkin Kamu Suka

Ilustrasi DOM sebagai pohon dari node HTML
Dasar-Dasar Web / Browser

Apa Itu DOM?

Penjelasan DOM untuk pemula: pohon HTML yang hidup di memori browser. Pahami apa itu DOM, bagaimana pohonnya dibentuk, dan kenapa ia begitu penting.

15 Sep 20267 menit baca
Ilustrasi berjudul Apa Itu Web Browser dengan code chip fetch ke render
Dasar-Dasar Web / Browser

Apa Itu Web Browser?

Penjelasan sederhana soal web browser: program yang mengambil berkas dari web lalu menyusunnya menjadi halaman yang kamu lihat, satu tab dan satu klik setiap saat.

15 Sep 20268 menit baca
Ilustrasi engine browser menjalankan skrip lewat event loop
Dasar-Dasar Web / Browser

Cara Browser Menangani JavaScript

Penjelasan ramah pemula soal bagaimana browser membaca, mengubah, dan menjalankan JavaScript, kenapa hanya punya satu jalur utama, dan bagaimana cara memuat skrip memengaruhi tampilan halaman.

15 Sep 20268 menit baca
Sampul biru gelap bertuliskan Cara Kerja Browser dengan chip kode parse ke layout ke paint
Dasar-Dasar Web / Browser

Cara Kerja Browser: Gambaran Umum

Penjelasan ramah pemula tentang apa yang dilakukan browser dari kamu mengetik URL sampai halaman muncul: jaringan, parsing, render tree, layout, paint, compositing, dan mesin JavaScript.

15 Sep 20268 menit baca
Sampul Critical Rendering Path dengan chip timer first paint
Dasar-Dasar Web / Browser

Critical Rendering Path

Ikuti langkah persis yang dilakukan browser untuk mengubah HTML, CSS, dan JavaScript menjadi piksel pertama yang terlihat, dan pahami kenapa posisi CSS dan JS menentukan secepat apa halaman muncul.

15 Sep 20267 menit baca
Sampul Dasar Keamanan Browser dengan chip kode berlambang perisai same-origin
Dasar-Dasar Web / Browser

Dasar Keamanan Browser: Cara Browser Diam-Diam Melindungimu

Panduan ramah untuk pemula tentang cara browser menjaga keamananmu: same-origin policy, sandboxing antar-tab, gembok HTTPS, mixed content, dan pengantar lembut soal kenapa input bisa berbahaya.

15 Sep 202610 menit baca