Lompat ke konten
Kembali ke modul

Fondasi: Komputermu, Web, dan Alat Kerjamu · 5/7

HTTP dalam praktik: request, response, status code

Semua fitur yang akan kamu bangun ujungnya request dan response. Belajar membacanya dengan lancar.

Baca 25 menit

Setelah pelajaran ini kamu bisa

  • Membaca HTTP request dan response serta menyebutkan setiap bagiannya
  • Memilih method yang tepat untuk sebuah operasi
  • Menafsirkan status code yang belum pernah kamu lihat
  • Menjelaskan bedanya GET dan POST dengan cara yang benar-benar penting

HTTP itu teks. Itu seluruh rahasianya. Buang semua alat bantunya dan sebuah request cuma beberapa baris yang bisa kamu ketik sendiri.

Sebuah request

http
POST /api/bookings HTTP/1.1        ← method, path, version
Host: shop.example.com             ← headers start here
Content-Type: application/json
Authorization: Bearer eyJhbGci...
Cookie: session=abc123
                                   ← one blank line
{ "venueId": 42, "guests": 2 }     ← the body

Header itu metadata tentang request: siapa kamu, format body-nya apa, kamu bisa menerima balasan bentuk apa. Body itu muatan sebenarnya, dan hanya sebagian method yang punya body.

Sebuah response

http
HTTP/1.1 201 Created               ← version, status code, reason
Content-Type: application/json
Location: /api/bookings/9001

{ "id": 9001, "venueId": 42, "guests": 2 }

Method

MethodArtinyaAman?Idempoten?
GETMembaca sesuatuYaYa
POSTMembuat sesuatu, atau menjalankan aksiTidakTidak
PUTMenggantikan sesuatu sepenuhnyaTidakYa
PATCHMengubah sebagian dari sesuatuTidakTidak
DELETEMenghapus sesuatuTidakYa

Status code: baca angka pertamanya

RentangArtiMasalah siapa
1xxInformasi, jarang dipakai
2xxBerhasilTidak ada
3xxCari di tempat lain (redirect)Tidak ada
4xxRequest-nya salahPemanggilnya
5xxServer-nya rusakKamu

Yang akan terus kamu temui: 200 OK, 201 Created, 204 No Content, redirect 301/302, 400 Bad Request, 401 Unauthorized (kamu belum login), 403 Forbidden (kamu sudah login tapi tidak diizinkan), 404 Not Found, 409 Conflict, 422 Unprocessable Content, 429 Too Many Requests, 500 Internal Server Error, 503 Service Unavailable.

HTTP juga stateless: server tidak mengingat request-mu sebelumnya. Setiap request harus membawa sendiri identitasnya — biasanya sebuah cookie atau header token. Satu fakta itulah alasan session dan autentikasi bekerja seperti sekarang, dan ada satu modul khusus soal itu nanti.

Tugas praktik

Di terminal, jalankan curl -i https://api.github.com/users/octocat. Flag -i menampilkan header response. Temukan status code-nya, content-type-nya, dan header rate-limit apa pun. Lalu jalankan lagi dengan -v dan lihat proses DNS lookup serta TLS handshake terjadi.

Hasil yang diharapkan

`HTTP/2 200`, `content-type: application/json`, dan header `x-ratelimit-*`.

Cek pemahaman

Seorang pengguna yang sudah masuk meminta sebuah venue milik orang lain. Status mana yang benar?

Pilih jawaban dulu