Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

HTTP dan API Web

Pelajaran 2 dari 16

Permintaan, respons, dan URL

Anatomi URL dan target permintaan

Setelah pelajaran ini kamu bisa memecah URL menurut RFC 3986, menyebut port bawaannya, dan menentukan bagian yang dikirim ke server.

±13 menitDiperiksa 28 Sep 2026

Materi

Kelas Komputer Dasar sudah memecah URL untuk pembaca. Untuk pemrograman, nama bagiannya mengikuti RFC 3986: skema, authority (host dan port), path, query sesudah tanda tanya, dan fragment sesudah tanda pagar. Skema dan host tidak membedakan huruf; path dan query membedakannya, sehingga /Pesanan dan /pesanan boleh menunjuk sumber daya yang berbeda.

// https://api.kereta.example:8443/v2/jadwal?kota=Bogor#pagi
// skema     : https
// host      : api.kereta.example
// port      : 8443
// path      : /v2/jadwal
// query     : kota=Bogor
// fragment  : pagi
const u = new URL("https://api.kereta.example/v2/jadwal?kota=Bogor#pagi");
u.pathname; // "/v2/jadwal"
u.search;   // "?kota=Bogor"
u.port;     // "" — port bawaan https tidak ditulis

Port yang tidak ditulis berarti port bawaan skemanya: 80 untuk http dan 443 untuk https (RFC 9110 §4.2). Fragment tidak pernah dikirim ke server; RFC 3986 §3.5 menyatakan fragment dipakai hanya oleh agen pengguna, misalnya untuk menggulir ke bagian halaman. Yang ditulis di baris permintaan disebut target permintaan: path ditambah query. RFC 9112 §3.2.1 menambahkan satu aturan: bila path kosong, klien wajib mengirim / sebagai path.

Di peramban dan Node.js, kelas URL memecah alamat untuk kita: new URL(alamat) memberi property protocol, hostname, port, pathname, search, dan hash, dan port bernilai teks kosong bila sama dengan port bawaan. Latihan kode di kelas ini sengaja ditulis dengan method teks biasa supaya aturannya terlihat; di proyek sungguhan, pakai URL.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Pada https://toko.example/produk?warna=hitam#ulasan, bagian mana yang TIDAK ikut dikirim ke server?

Pilih satu jawaban

Latihan 3 dari 3

URL https://api.toko.example/v1/stok tidak menulis nomor port. Ke port nomor berapa klien menyambung?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke