1. Prinsip Kerja Client Server
Prinsip kerja client server, pada dasarnya juga bergantung dengan lapisan di bawahnya, yaitu transport. Komunikasi antara client bergantung pada lapisan ini.
Komunikasi yang lebih rendah ini menggunakan packet sebagai bentuk data yang dikirim, paket ini diberikan header yang mengindikasikan informasi tujuan dan asal.
Protocol untuk pengiriman paket bermacam-macam, yang populer adalah TCP, dan UDP. Biasanya, komunikasi client server bersifat penting, dan tidak boleh ada data yang hilang, maka protocol TCP yang digunakan. Kenapa? Karena TCP melakukan proses tanya jawab, TCP memastikan target menerima pesan dari asal.
TCP mengirimkan paket, lalu menunggu tanda dari target, apakah dia menerima paket tersebut. Apabila tidak, maka TCP akan mengulangi mengirim paket tersebut. Begitu seterusnya, sampai paket yang dikirim sampai tujuan semuanya. Namun, karena proses tanya-jawab antara asal dan target mengenai sampainya paket ini terus terjadi, TCP lebih lambat dan memakan resources lebih besar.
Berbeda dengan UDP. UDP tidak peduli apakah data sudah terkirim dan diterima oleh target. UDP sangat cocok untuk komunikasi yang tidak begitu penting, misalkan dalam sebuah game, dimana client dan server saling memberitahukan keadaan pemain sekarang. Karena UDP tidak begitu peduli, maka kejadian seperti LAG bisa terjadi. Namun, UDP tidak melakukan proses tanya jawab seperti TCP, sehingga komunikasi terjadi lebih cepat.
UDP hanya menyebarkan informasi, tidak peduli apakah client menerimanya dengan sempurna atau tidak.
Lalu bagaimana komunikasi client – server berlangsung? Kita akan ambil contoh, proses komunikasi client server antara web browser dengan web server.
Web server, sebagai penyedia halaman web, dinyalakan. Dia hanya diam dan menunggu untuk kedatangan client.
Web server akan terus dalam posisi menunggu sampai ada client yang meminta layanan darinya.
Web browser dan web server sama-sama mempunyai protocol yang sama, yaitu HTTP. HTTP kependekan dari Hyper Text Transfer Protocol adalah protocol untuk bertukar informasi dalam bentuk hyper text.
Bagaimana protocol HTTP itu? Protocol HTTP mempunyai 2 bagian, header dan content. Bagian header untuk meminta data dari server berbeda dengan header untuk mengirim dari server.
Bagaimaa HTTP memisahkan antara bagian header dan content? Jawabanya dengan baris kosong. Antara content dan header, ada sebuah baris kosong.
Header HTTP digunakan untuk memberikan informasi tentang content. Jadi ketika server membacanya, dia tahu bahwa client ingin mengirim data dengan metode POST, ke halaman index.php dengan protocol HTTP versi 1.1. Server mengetahui bahwa data yang dikirim sepanjang 4 bytes, dan akhirnya server mendeteksi adanya baris kosong, inilah saatnya server membaca data yang masuk bukan sebagai header lagi, tapi sebagai content.
Server akan melakukan proses data, menjalankan program untuk mengakses database apabila diperlukan, melakukan akses ke berbagai berkas di server apabila diperlukan, hingga akhirnya server mendapatkan sumber daya atau hasil yg bisa diberikan kepada client. Akhirnya, masih dengan menggunakan protocol HTTP, server mengirim kembali data hasil pemrosesan tadi.
Web browser akan menganalisa hasil keluaran dari server, dia aka membaca bahwa server memberikan balasan versi protocol HTTP 1.1. Kode HTTP 200, berarti OK, server memproses permintaan dengan lancar, tidak ada kesalahan. Sisanya server memberi tahu informasi tentang content utama yang diminta.
Cara penerapan protocol, data masuk akan diparsing atau diterjemahkan. Program membaca data yang masuk dan mengambil informasi yang dibutuhkan.
Setelah data yang penting didapatkan, maka program melakukan penyesuaian format, sehingga hasil dari protocol tersebut bisa seragam. Keseragaman hasil protocol inilah yang membuat client server memahami protocol masing-masing.
Keseragaman ini bisa dilihat di protocol HTTP, dimana semua data yang diberikan akan dirubah sesuai format protocol HTTP, yaitu adanya header, dan adanya content. Server atau client melakukam hal yang sama, mereka membuat header dan juga content sesuai dengan data yang sedang mereka proses.
RANGKUMAN
Mencoba menalar bagaimana prinsip kerja client server, kita mengetahui bagaimana kerja client server dengan menelusuri lapisan yang mendukungnya. Yaitu lapisan transport. Client server biasanya menggunakan protocol TCP untuk transportnya, meskipun protocol lainya juga tidak dipungkiri bisa digunakan.
TCP menyebarkan informasi ke client dengan handal, tidak boleh ada data yang tertinggal. Berbeda dengan UDP yang tidak peduli apakah ada data yang tertinggal atau tidak.
Komunikasi client server harus berjalan di atas protocol yang sama, protocol ini mengambil data, melakukan penerjemahan, melakukan formating, dan mengembalikan keluaran data yang sudah seragam sehingga antara client dan server sama-sama bisa mengerti isi data tersebut.
Salah satu protocol tersebut adalah HTTP, yang setelah data diterjemahkan dan diformat, hasilnya adalah sebuah struktur data dengan header dan content. Header menjelaskan isi dari content, dan content berisi data yang dikirim atau diterima.
HTTP menghasilkan keluaran yang seragam, oleh karena itu antara web browser dan web server bisa bekerja sama untuk mendapatkan hasil yang diinginkan.
Baca Juga : Kegiatan Belajar 7 : Memahami Instalasi Sistem Operasi