HTTP & HTTPS — Web Fundamentals

HTTP (HyperText Transfer Protocol) adalah protokol yang digunakan browser dan server untuk berkomunikasi. Setiap kali kamu membuka halaman web, browser mengirim

HTTP (HyperText Transfer Protocol) adalah protokol yang digunakan browser dan server untuk berkomunikasi. Setiap kali kamu membuka halaman web, browser mengirim HTTP request dan server membalas dengan HTTP response.

Anatomi HTTP Request:

GET /api/users HTTP/1.1
Host: belajarweb.dev
Accept: application/json
Authorization: Bearer token123

Komponen request:

Anatomi HTTP Response:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=3600

{"users": [{"name": "Budi"}, {"name": "Ani"}]}

Komponen response:

HTTP vs HTTPS:

Aspek HTTP HTTPS
Port default 80 443
Enkripsi Tidak ada TLS/SSL
Keamanan Data bisa disadap Data terenkripsi
SEO Tidak diutamakan Google prioritaskan
Sertifikat Tidak perlu Butuh SSL certificate

Bagaimana HTTPS bekerja:

  1. Browser meminta koneksi aman
  2. Server mengirim SSL certificate (berisi public key)
  3. Browser memverifikasi sertifikat dengan Certificate Authority
  4. Browser membuat session key dan mengenkripsinya dengan public key server
  5. Server mendekripsi dengan private key
  6. Keduanya berkomunikasi menggunakan session key (symmetric encryption)

Proses ini disebut TLS handshake dan terjadi sebelum data apapun dikirim.

HTTP/2 dan HTTP/3:

// Contoh fetch request di JavaScript:
const response = await fetch("https://api.example.com/data", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer mytoken"
  }
});
const data = await response.json();
console.log(data);

Selalu gunakan HTTPS di production. Layanan seperti Let's Encrypt menyediakan SSL certificate gratis.

Yang akan kamu pelajari