Prinsip Kerja Client and Server


Client Server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan Server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya.

Server tanpa client sama seperti rumah tanpa penghuni, maka dibutuhkan client yang menggunakan jasa dari server. Client dan server saling berhubungan secara timbal balik. Server secara selektif menyediakan sumber daya yang dibutuhkan, dan client melakukan koneksi ke server untuk meminta sumber daya tersebut. Komunikasi client server bekerja dengan cara request-response, dimana client meminta lalu server mengirim. Antara client dan server harus menggunakan aturan yang sama, kapan mengirim, kapan menerima, dan apa yang harus dikirim dan diterima. Semua aturan ini dinamakan protocol, yaitu cara komunikasi antara dua pihak atau lebih. Server menyediakan berbagai macam layanan, web server menyediakan halaman web, file server menyediakan file computer. Tapi, secara tidak langsung, untuk memproses halaman atau file yang diminta, server harus menggunakan sumber dayanya seperti RAM, Hardisk, CPU, dsb.

Bagaimana cara server meminta dari server? Dan bagaimana server memberi kepada client?



Client menghubungi server dan mengirim data yang dibutuhkan apabila ada, semua proses tersebut membutuhkan protocol. Protocol mengatur cara client/server mengirim data dan menerima data. Sebagai contoh, Ada sebuah bank yang memiliki server, nasabah menggunakan web browser (client) untuk mengakses data dari server. Nasabah meminta halaman web melalui web server dengan protocol HTTP. Server meminta nasabah untuk memasukkan informasi nama dan kata sandi untuk masuk ke dalam server. Server menjalankan aplikasi database, dan menerima data dari database, misalkan nasabah ingin melihat data transaksinya selama ini. Maka hasil dari server tersebut diterjemahkan sesai dengan aturan bank tersebut, dilewatkan lagi melalui protocol HTTP, dan akhirnya diterima kembali oleh client. Hubungan client server tidak akan terjadi kecuali client meminta sebuah layanan dari server. Jadi, tidak mungkin server tiba-tiba mengirim client data yang tidak diinginkan oleh client.

Server dan client bisa berkomunikasi karena adanya protocol diantara mereka. Keberadaan protocol ini menjembatani antara client dengan server, sehingga keseragaman komunikasi bisa tercapai.

Ada berbagai macam protocol, semuanya disesuaikan dengan kebutuhan server dan client, seperti HTTP, FTP, SMTP, POP, dsb.
  • HTTP Hyper Text Transfer Protocol. Adalah protokol untuk mengirim file hyperteks (HTML) pada internet. Membutuhkan program klien HTTP di satu sisi, dan program server HTTP di sisi lainnya. HTTP adalah protokol paling penting yang digunakan di jagat internet (World Wide Web). Anda akan menggunakannya setiap kali mengunjungi sebuah situs internet.

  • FTP Adalah singkatan dari File Transfer Protocol, protokol Internet yang merupakan standar untuk pentransferan file komputer antara mesin-mesin yang menjalankan sistem yang sangat berbeda, misalnya dari komputer rumahan dan/ke server situs anda. Karena berfungsi sebagai file sharing maka kita dapat mendownload dan mengupload file yang kita inginkan. Seperti halnya browsing, FTP juga memiliki alamat. Alamat yang digunakan untuk browsing dapat diawali dengan HTTP misalnya http://www.situsinternet.com sedangkan FTP diawali dengan ftp misalnya ftp://ruangweb.com

  • SMTP Simple Mail Transfer Protocol. Protokol utama yang digunakan untuk mengirim surat elektronik lewat internet. Sebagian besar email dikirim dan diterima dengan SMTP. SMTP terdiri dari serangkaian aturan tentang bagaimana cara sebuah program untuk mengirim dan menerima email.

  • POP Post Office Protocol. Adalah metode untu kmengambil email dari server. Sebagian besar program email (disebut juga klien email) menggunakan protokol POP, walaupun ada juga yang mendukung penggunaan teknologi IMAP (Internet Message Access Protocol) yang lebih baru. Ada dua versi POP, pertama POP2, yang menjadi standar pada pertengahan 1980-an dan membutuhkan SMTP untuk mengirim emailnya; dan POP3, yang bisa digunakan dengan atau tanpa SMTP.

Semua protocol ini menjembatani antara client dengan server, dan melakukan proses khusus supaya client bisa membaca data dari server dan sebaliknya. Semua proses berjalan dua arah, client dan server saling berinteraksi, dan server hanya berjalan ketika client meminta layanan darinya.  Model komunikasi client server adalah model komunikasi dua arah yang berjalan ketika client meminta sebuah layanan dari server. Model komunikasi client server harus berjalan dengan aturan yang sama yang disebut dengan protokol, protokol memfasilitasi bagaimana client mengirim dan mengambil data dari server, atau server mengirim dan mengambil data dari client.

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.
Prinsip Kerja Client and Server Prinsip Kerja Client and Server Reviewed by Ijul Lke on 1:36 AM Rating: 5

No comments:

Powered by Blogger.