Apa yang Terjadi Ketika Kamu Memasukkan URL — DNS, HTTP, dan HTTPS

Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
URL bisa dibaca sebagai empat bagian. Diagramnya mengikuti DNS yang mengubah nama menjadi nomor, HTTP yang mengambil isinya, dan HTTPS yang menjaganya agar tidak terbaca di tengah jalan.

Artikel ini membahas apa yang terjadi antara memasukkan URL dan munculnya layar.

Ada tiga hal yang muncul: DNS yang mengubah nama menjadi nomor, HTTP yang mempertukarkan isinya, dan HTTPS yang menjaga komunikasi itu agar tidak terbaca.

Satu baris yang kamu ketik dipecah menjadi empat bagian
http://localhost:3000/reserveAwalhttpTengahlocalhostNomor:3000Akhir/reserveDikirim denganaturan apaKomputer yang manaProgram yang manaHalaman yang mana
Bagian atas adalah baris yang kamu ketik. Baris tengah adalah bagian-bagiannya, dan baris bawah adalah pertanyaan yang dijawab masing-masing. Keempatnya harus lengkap agar tujuan dan isi kirimannya bisa ditentukan.

Ketiganya harus lengkap agar tujuan dan isi kirimannya bisa ditentukan.

URL adalah string yang menunjuk halaman mana di komputer mana

String yang kamu ketik dalam panduan itu adalah URL (Uniform Resource Locator, satu baris yang menunjuk halaman yang ingin kamu buka ada di komputer mana dan di bagian mana komputer itu).

Isi satu baris URL
Satu baris URL (http://localhost:3000/reserve)
Awal — http
  • Bagian ini adalah semua yang ada sebelum "://"
  • Kalau di sini https, isi yang kamu kirim dienkripsi
Tengah — domain (domain name)
  • Nama yang bisa dibaca manusia, diberikan kepada komputer di internet
  • Server publik mendapat nama seperti example.com
  • localhost, yang dipakai secara lokal, adalah nama tetap untuk komputer tempat nama itu diketik
  • Di sinilah ditentukan ke komputer mana request-nya dikirim
Nomor — nomor port (port number)
  • Nomor yang menunjuk request itu dikirim ke program mana di dalam satu komputer
  • Beberapa program bisa menunggu request sekaligus, jadi nomor ini yang memilih salah satunya
  • http sudah ditetapkan 80 dan https 443, jadi nomor itu tidak ditulis
Akhir — /reserve
  • Dimulai dengan "/", yaitu posisi sebuah halaman di dalam server yang sama
  • Kalau dihilangkan, kamu mendapat halaman depan server itu
Bingkai luar adalah satu baris http://localhost:3000/reserve. Dari atas berturut-turut: aturan pengiriman, komputer yang mana, program mana di dalamnya, dan halaman yang mana.

Yang memecah baris itu menjadi empat bagian adalah browser itu sendiri.

Baca URL dalam empat bagian

URL adalah satu baris yang menyambungkan empat bagian.

Bagian awal adalah aturan pengiriman, bagian tengah adalah komputer yang mana, nomornya adalah program mana di dalamnya, dan bagian akhir adalah halaman yang mana, sehingga URL lokal maupun URL publik terdiri dari empat bagian yang sama dan hanya berbeda karakternya.

Dari memasukkan URL sampai layar muncul — DNS dan HTTP

Alamat IP yang kita lihat di artikel sebelumnya adalah nomor itu.

Aturan untuk mencari alamat IP dari sebuah domain adalah DNS (Domain Name System), dan aturan yang dipakai browser dan server untuk mempertukarkan request dan response adalah HTTP (HyperText Transfer Protocol).

Mesin yang menyimpan pemetaan DNS dan menjawab pertanyaan adalah server DNS.

Yang dikirim browser disebut request dan yang kembali disebut response, dan antara memasukkan URL dan munculnya layar, browser menyambung ke dua pihak secara berurutan.

Browser menyambung ke dua pihak secara berurutan
Browser① Tanya nama keserver DNSYang kembali nomor203.0.113.5Isi halaman tidakdikembalikan② Menyambung kenomor ituLihat /reserve,pilih yang dikirimIsi halamandikembalikan
Dari browser di sebelah kiri, alurnya terbagi menjadi dua garis, atas dan bawah. Yang atas adalah pihak pertama, yaitu server DNS, dan yang bawah adalah pihak kedua, yaitu server Web, dan yang kembali dari keduanya berbeda.

Urutannya: ubah dulu namanya menjadi nomor, baru ambil isinya.

Server DNS yang kamu sambungi lebih dulu hanya mengembalikan sebuah nomor, dan tidak mengembalikan isi halamannya.

Isinya dipegang server yang kamu capai lewat nomor itu, yang melihat /reserve di bagian akhir URL sebelum memilih apa yang dikembalikan.

Di server yang sama, /reserve dan /login memilih isi yang berbeda.

Response yang kembali memuat nomor tiga digit dan isi halamannya, dan yang muncul di layar hanyalah file isinya.

Ubah namanya menjadi nomor, baru ambil isinya

Browser melakukan empat hal: membaca, bertanya, menerima, dan menggambar.

Browser memecah URL yang kamu ketik menjadi empat bagian, menanyakan nomornya ke server DNS, lalu meminta halaman itu ke nomor tersebut.

Server melihat bagian akhir URL, memilih apa yang dikembalikan, dan mengembalikannya bersama sebuah nomor yang menyatakan berhasil tidaknya.

HTTPS adalah aturan yang menjaga isinya agar tidak terbaca di tengah jalan

Pada komunikasi yang diawali http, karakter yang kamu ketik mengalir apa adanya, sehingga perangkat di sepanjang jalur bisa membaca isinya.

Yang mencegahnya adalah HTTPS (HyperText Transfer Protocol Secure), yang mempertukarkan isi kirimanmu setelah enkripsi (mengubahnya menjadi bentuk yang tidak bisa dikembalikan ke asalnya oleh siapa pun selain pihak yang dituju).

Dengan karakter yang sama, http dan https berbeda dalam hal apa yang terlihat di jalur
Yang diketikpassword123Dikirim via httpPerangkat jalurbisa membacanyaServer membacayang kamu ketikDikirim via httpsJalur hanya tahunama tujuannyaServer memulihkanlalu membacanya
Di sebelah kiri adalah karakter yang sama yang kamu ketik. Jalur atas adalah http dan jalur bawah adalah https. Karakter yang dibaca server sama pada keduanya, dan yang berbeda hanyalah jalur di tengahnya.

Karakter yang dibaca server sama pada keduanya, dan yang berbeda hanyalah apa yang bisa dilihat perangkat di sepanjang jalur.

Dengan https pun, server mana yang dituju tetap terlihat di jalur.

Yang tidak terlihat adalah halaman mana yang kamu buka dan apa yang kamu ketik.

Dalam satu komunikasi https, apa yang bisa diketahui jalur dan apa yang tidak
Satu komunikasivia httpsYang diketahuiperangkat jalurYang tidak terbacaperangkat jalurTujuan bernamaexample.comPassword yang diketikisi halamannyaSitus yang dibukatercatatMeski terlihat,isinya tak terbaca
Satu komunikasi di bagian atas terbagi ke kiri dan ke kanan. Hanya yang kiri terlihat oleh perangkat di sepanjang jalur, sedangkan yang kanan tidak. Baris paling bawah adalah akibat yang muncul dari situ.

HTTPS juga mencakup mekanisme untuk memastikan bahwa pihak seberang adalah pemilik domain tersebut.

Sertifikatnya diterbitkan bukan oleh server itu sendiri, melainkan oleh otoritas sertifikat (certificate authority, CA, pihak ketiga yang memastikan siapa pemilik sebuah domain lalu menerbitkan sertifikat).

Di dalam sertifikat itu ada kunci publik (public key, kunci yang boleh diberikan kepada siapa saja) yang dipakai untuk memastikan bahwa pihak seberang memang asli.

Memastikan lebih dulu, enkripsi belakangan.

Kuncinya baru dibuat setelah pihak seberang diketahui sebagai pemiliknya, jadi meski ada perangkat yang menyisip di tengah, isinya tetap tidak terbaca.

https membuat isinya tidak terbaca

Perbedaan http dan https hanyalah bisa tidaknya isinya dibaca di sepanjang jalur.

Pada http karakternya mengalir apa adanya sehingga perangkat di jalur bisa membaca isinya, sedangkan pada https karakternya dikonversi sebelum dikirim sehingga yang bisa diketahui jalur hanyalah nama tujuannya.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Pada http://localhost:3000 yang ada di panduan, localhost menunjuk ke komputer yang mana?

Soal 2Mekanisme mana yang mengambil domain seperti example.com lalu mencari alamat IP yang dipakai untuk berkomunikasi?

Soal 3Apa perbedaan URL yang diawali https dan URL yang diawali http?