Pada tahun 1989 Tim Berners-Lee mengajukan proposal sebuah proyek pada
tempatnya bekerja CERN ( European Organization for Nuclear Research), proyek ini
bertujuan untuk memudahkan para ilmuan yang bekerja di CERN untuk bertukar
informasi menggunakan sistem hypertext.
Sebagai hasil dari pelaksanaan proyek tersebut, Tim Berners-Lee menulis dua program:
o Sebuah Browser dengan nama WorldWideWeb
o Program webserver pertama didunia yang berjalan diatas sistem NeXTSTEP
Antara tahun 1991 sampai 1994 teknologi sederhana dan efektif digunakan untuk
berselancar dan bertukar data melalui world wide web, telah dibantu pengembangannya
untuk dapat berjalan dibanyak sistem operasi dan menyebarkan penggunaannya ke
segenap lapisan masyarakat, pertama dimulai dikalangan ilmuan, kemudian di
universitas selanjutnya merambah dunia industri. Tahun 1994 Tim Berners-Lee
memutuskan untuk mendirikan konsorsium World Wide Web, yang bertujuan untuk
mengatur pengembangan selanjutnya dan penggunaan banyak teknologi (HTTP,HTML dll) melalui stadarisasi proses. Saat ini perkembangan web site dan server telah
mengikut deret eksponensial.
2. Pengertian
Web server adalah Suatu Program Komputer yang mempunyai tanggung jawab/tugas
menerima permintaan HTTP dari komputer klien, yang dikenal dengan nama web
browser, dan melayani mereka dengan menyediakan respon HTTP berupa konten data,
biasanya berupa halaman web yang terdiri dari dokumen HTML, dan objek yang
terkait seperti gambar, dll. Dengan kata lain software yang menjadi tulang belakang
dari world wide web (www).Secara garis besarnya web server hanya memproses semua masukan yang
diperolehnya dari web clientnya.pada umumnya program webserver memiliki fitur-fitur dasar yang sama seperti :
a. HTTP : Setiap program web server bekerja dengan menerima permintaan HTTP
dari klien, dan memberikan respon HTTP ke klien tersebut. Respon HTTP
biasanya mengandung dokumen HTML tetapi dapat juga berupa berkas raw,
gambar, dan berbagai jenis dokumen lainnya. Jika terjadi kesalahan permintaan
dari klien atau terjadi masalah saat melayani klien maka web server akan
mengirim respon kesalahan yang dapat berupa dokumen HTML atau teks yang
memberi penjelasan penyebab terjadinya kesalahan.
b. Logging : Umumnya setiap web server mempunyai kemampuan untuk
melakukan pencatatan/logging terhadap informasi detil mengenai permintaan
klien dan respon dari web server dan disimpan dalam berkas log, dengan adanya
berkas log ini maka akan memudahkan web master untuk mendapat statistik
dengan menggunakan tool log analizer.
Pada penggunaan sehari-hari banyak web server mengimplementasikan fitur-fitur
berikut :
- Otentifikasi : fitur untuk mengotorisasi suatu permintaan dari klien sebelum menggunakan sumber daya yang dimiliki oleh web server (biasanya User dan Password)
- Penanganan konten statis (berkas tersimpan pada file sistem server) dan konten dinamis dengan mendukung satu atau lebih antara muka yang sesuai (SSI, CGI, SCGI, FastCGI, JSP, PHP, ASP, ASP.NET, Server API seperti NSAPI, ISAPI dsb).
- Dukungan HTTPS (dengan SSL, atau TSL) yang memungkinkan koneksi yang aman (dengan enkripsi) ke server pada port 433 berbeda dengan koneksi HTTP biasa di port 80.
- Kompresi Konten (misal menggunakan enkoding gzip) untuk mengurangi waktu respon server sehingga penggunaan pita data /Bandwith menjadi lebih hemat.
- Virtual Hosting yang berguna untuk melayani banyak website hanya dengan menggunakan satu alamat IP.
- Dukungan berkas berukuran besar, berfungsi untuk mendukung berkas yang memiliki ukuran lebih dari 2 gigabyte
- Pengatur Bandwith (Bandwith throttling) yang berfungsi untuk membatasi kecepatan respon dengan tujuan tidak membanjiri jaringan dan menghemat pita data (bandwith) agar dapat melayani klien lebih banyak.
A. Penerjemahan Path (Path Transalation)
Server web mengarahkan pennterjemahan komponen path kedalam URL (Uniform
Resource Locator) menuju :
1) Sumber daya berkas sistem lokal jika permintaan bersifat statis
2)
Program internal ataupun eksternal jika permintaan bersifat dinamis.
Untuk permintaan bersifat statis maka URL yang diminta oleh klien diarahkan ke root
direktori web server.Perhatikan URL berikut yang diminta oleh klien :
http://www.example.com/path/file.html
Browser web pada klien akan menterjemahkan koneksi ke www.example.com dengan
permintaan HTTP 1.1 seperti berikut :
GET /path/file.html HTTP/1.1
Host: www.example.com
Server Web www.example.com akan mencari path/alamat yang diberikan mulai dari
root direktori. Pada mesin unix biasanya di /var/www/htdocs. Hasil pada sistem lokal adalah /var/www/htdocs/path/file.html
Server akan mencari dan membaca berkas tersebut, jika berkas ada maka akan
mengirimkan jawaban ke browser klien. Respon yang diberikan akan menggambarkan
isi konten dari berkas itu sendiri.
B. Load Limit (Batas Beban)
Setiap Server Web telah menentukan batas beban yang dapat ditanggung, sehingga
setiap server web mempunyai batasan jumlah klien yang terhubung pada satu waktu
(umumnya antara 2 s.d. 60.000, secara bawaan (default) maks 500 atau 1000).
Kemampuan ini bergantung pada :
1) Pengaturan Server Web itu sendiri;
2) Jenis permintaan HTTP;
3) Jenis Konten (Statis atau dinamis);
4) Kondisi konten di server dilakukan cache atau tidak;
5) Perangkat Keras, perangkat Lunak serta sistem operasi yang digunakan.
Setiap saat server web dapat saja mengalami kelebihan beban yang disebabkan :
a. Terlalu banyak koneksi (misalkan ada ribuan bahkan jutaan permintaan dari
klien pada jeda waktu yang singkat, seperti yang pernah terjadi pada Slashdot)
b. Serangan DDOS (Distribute Denial Of Services);
c. Cacing Komputer (Worm) yang dapat menyebabkan lalulintas data tidak wajar
karena banyaknya komputer yang terinfeksi;
d. Virus XSS dapat menyebabkan lalulintas data yang tinggi karena jutaan browser
dan server web yang terinfeksi;
e. Internet Web Robot, Lalu lintas data yang tidak difilter atau web server besar
dengan sumber daya yang terbatas misalnya pita data yang dimiliki kecil dsb;
C. Gejala Kelebihan Beban
Tanda-tanda apabila server web mengalami kelebihan beban adalah :- Lambatnya respon terhadap permintaan dari klien (respon biasanya berkisar dari 1 s.d. Ratusan detik).
- Muncul pesan kesalahan 500, 502, 503, 504 HTTP Errors (Kadang-kadang juga muncul pesan kesalahan 404 dan 408).
- Koneksi TCP ditolak atau direset sebelum isi konten sampai ke klien.
- Hal ini jarang terjadi, hanya sebagian isi konten yang dikirim (tetapi hal ini kebanyakan.
- disebabkan kesalahan program/bug, walaupun sumber daya yang dimiliki sistem terbatas).
D. Teknik Pencegahan Kelebihan Beban
a. Mengatur lalulintas data jaringan, dengan menggunakan :
1. Firewalls to menghadang data yang tidak diinginkan dari sumber IP yang
tidak sesuai ataupun memiliki pola yang aneh.
2. Pengaturan lalulintas data melalui protokol HTTP, untuk memutuskan
koneksi, mengarahkan, atau menulis ulang permintaan yang memiliki pola
HTTP yang tidak sesuai.
3. Pengaturan Bandwith dan Traffic shaping, untuk menurunkan beban puncak
penggunaan jaringan.
4. Mengembangkan teknik cache;
5. Menggunakan domain yang berbeda dan atau komputer yang berbeda untuk
memisahkan berkas berukuran besar dan kecil; idenya adalah untuk
mengoptimalkan cache berkas yang ukuran kecil dan menengah dan secara
efisien melayani berkas berukuran besar (10-1000 Mb) menggunakan
pengaturan yang berbeda;
6. Menggunakan banyak server web pada tiap komputer, masing-masing
program server web di arahkan ke masing-masing kartu jaringan dan alamat
IP;
7. Menggunakan banyak komputer server web dan menggabungkannya
kedalam satu grup bertindak seolah-olah menjadi satu server web besar;
8. Menambahkan perangkat keras seperti RAM, hdd pada tiap server web;
9. Melakukan tunning pada Sistem Operasi sehingga dapat memaksimalkan
penggunaan perangkat keras terpasang;
10. Menggunakan program komputer yang sesedikit mungkin pada komputer
yang digunakan sebagai server web;
11. Menggunakan area kerja lain untuk melayani konten-konten yang bersifat
dinamis.
No comments:
Post a Comment