lifelong learner — urip iku urup, currently working on accenture.

Apa yang terjadi saat membuka website melalui browser dengan analogi

0
Degananda.com -

Pada saat kita mengakses suatu website , sebenarnya file (html , css, javascript, etc) yang menyusun website tersebut dapat dihosting dimana saja. Contohnya ketika kita mengakses website degananda.com ini , file-file penyusun website ini terletak di singapore. Namun, ini tidak berarti seluruh file didalamnya berasal dari satu hosting yang sama. Misalkan untuk beberapa file javascript bisa saja berada dilokasi yang berbeda karena menggunakan CDN (Content delivery network).

Terdapat berjuta-juta situs internet di dunia ini namun kita tidak pernah tertukar saat mengunjungi situs tertentu. Inilah peranan DNS sebagai pengatur lalu lintas.

Browser dapat menemukan lokasi server atau alamat server saat kita mengetikan nama domain di url bar browser akibat adannya DNS(Domain name server). DNS berlaku layaknya seorang polisi yang mengatur jalanan. Dia dapat memberikan alamat atau lokasi server atas suatu domain name tertentu. Contoh sederhannya ketika kita mencoba membuka google.com , DNS akan memberikan lokasi server google terdekat yakni di indonesia sehingga kita akan diarahakan ke google.co.id

Alur akses website (tampak luar)

Setiap orang yang mengakses internet akan selalu melalui penyedia internet atau biasa kita sebut sebagai internet service provide (ISP). Tanpa adannya ISP kita tidak akan dapat terhubung ke internet. Berikut ini adalah alur yang terjadi saat pertama kali kita menuliskan alamat website di browser.

  1. Kita terhubung dengan ISP(Internet service provider) agar terhubung di internet
  2. Kita menuliskan alamat website / url pada browser contohnya kita mengunjungi google.com
  3. Sistem akan menghubungi DNS (domain name server) yang bertugas seperti polisi yang mengatur lalu lintas.
  4. DNS akan mengecek alamat tujuan kita dalam kasus ini adalah google.com.
  5. DNS akan memberikan rute untuk menuju ke alamat tersebut dan pada kasus tertentu kita akan diarahkan ke jalan yang paling dekat. Memang tidak semua server/website/webserver mensupport ini. Contohnya saat membuka google akan diarahkan ke google.co.id
  6. DNS akan mengidentifikasi setiap request yang masuk dengan menggunakan ip address.
  7. Setelah kita mendapatkan “rute” yang diberikan dns maka sistem akan membuat request ke web server , dalam kasus ini web server google.
  8. Web server google (website yang kita request melalui pengatur jalanan “DNS”) akan mengembalikan response yang berupa HTML.
  9. Browser akan menerjemahkan anotasi HTML dan ditampilkan dibrowser kita.

Itulah alur bagaimana kita dapat membuka website pada browser.

Client and server

setiap request yang terjadi pasti melibatkan client dan server

  • client adalah user dalam hal ini berupa mesin yang dijalankan oleh manusia(melakukan klik pada url/membuka alamat website/etc) yang terkonek dengan suatu jaringan misalkan jaringan internet, intranet , WAN, LAN dan lain sebagainnya.
  • Server adalah sebuah komputer yang didalamnya menyimpan file-file tertentu. Contohnya Web server maka akan menyimpan file-file seperti html, css , config apache, dan lain sebagainnya.

request dari client ke server tidak selalu berhasil ini dipengaruhi oleh banyak hal salah satunnya adalah kondisi koneksi internet, stabil atau tidak (sering RTO).

Hal yang terjadi dibalik layar

untuk dapat membayangkan bagaimana suatu website dapat diakses kita analogikan dengan suatu jalanan. Pada jalanan tersebut terdapat berbagai mobil yakni kita seorang user. Setiap mobil membiliki nomor yang unik(ip address). Tetapi dalam satu mobil dapat dinaiki oleh banyak orang tergantung dari kapasitas mobil tersebut inilah yang kita sebut dengan shared internet access dan dynamic ip address. Perhatikan gambar dibawah ini.

Disini tujuan kita adalah alamat website yang kita tuju. kita akan menaiki mobil melalui jalan beraspal ataupun jalan off road. Untuk dapat berjalan pada jalan tersebut kita membutuhkan berbagai hal

  1. Mobil, ini akan disediakan oleh ISP(jnternet service provider)
  2. TCP/IP yakni protokol yang mendefinisikan bagaimana data akan ditransfer atau dalam hal ini adalah jenis kendaraan yang berjalan. Contohnya jika tujuan kita adalah untuk melewati jalan beraspal maka yang kita gunakan adalah mobil/sepeda/sepeda motor. Tidak mungkin kita akan melewati jalan beraspal dengan menggunakan kapal laut ataupun kereta api. TCP/IP adalah jenis kendaraan yang di izinkan.
  3. DNS (Domain name server) dalam kasus ini DNS berlaku sebagai polisi pengatur jalan. Polisi ini akan mengatur kemana kita harus berjalan. Polisi akan mengarahkan jika ada jalan yang ditutup atau jalan rusak.
  4. File web server. Dua komponen utama yakni HTML dan CSS yang akan kita terima saat kita telah membuat request ke web server (mencapai alamat tujuan).

itulah bagaimana kita mengakses website dengan menggunakan analogi mobil(TCP/IP) yang melalui jalanan beraspal(jaringan) yang diatur oleh polisi (DNS). Lalu bagaimana jika dengan bahasa teknis?

  1. pertama , browser akan berkomunikasi dengan DNS server
  2. DNS server akan memberikan kita alamat asli dari domain name tersebut. Alamat asli tersebut berbentuk ip address.
  3. Browser akan membuat HTTP request.
  4. Request tersebut bertujuan untuk meminta core file dari webserver yang akan dioleh browser untuk kemudian ditampilkan.
  5. Request ini akan melalui protokol yang disebut dengan TCP/IP.
  6. Pada tahap ini server(web server) memiliki hak preogatif untuk menerima request atau menolak request. Jika diterima (http status 200) maka browser akan menampilkan isi dari core file web server tersebut(html,css).