Web server adalah software yang menjadi tulang belakang dari world wide web
(www). Web server menunggu permintaan dari client yang menggunakan browser
seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser lainnya.
Jika ada permintaan dari browser, maka web server akan memproses permintaan itu
kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke
browser. Data ini mempunyai format yang standar, disebut dengan format SGML
(standar general markup language). Data yang berupa format ini kemudian akan
ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila
data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks
(misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan
menampilkan alternatifnya saja.
Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai
protokol sendiri, yaitu HTTP (hypertext tarnsfer protocol). Dengan protokol ini,
komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih
mudah.
Seperti telah dijelaskan diatas, format data pada world wide web adalah SGML.
Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML
(hypertext markup language) karena penggunaannya lebih sederhana dan mudah
dipelajari.
Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web
browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam
komputernya atau bahkan jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari
suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu
dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halamanhalaman
dokumen (web) itu.
Proses yang dimulai dari permintaan webclient (browser), diterima web server,
diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi
dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang
terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua
masukan yang diperolehnya dari web clientnya.
Cara Memilih Web Server.
Untuk membuat sebuah web server, maka kita akan menemukan berbagai
macam persoalan, dimulai dari pemilihan software web browser mana yang paling
sesuai kebutuhan, apa saja spesifikasi hardware yang dibutuhkan, bagaimana kondisi
interkoneksi jaringan internet yang ada, dan lain sebagainya. Belum lagi termasuk
bagian pembuatan halaman-halaman webnya, mau menggunakan format apa (HTML,
SGML, PHP, PHP3, CGI, dan lain-lain). Hal yang paling utama dalam proses
pembuatan web server adalah memilih software mana yang akan digunakan sebagai
web server kita. Untuk itu perlu adanya pertimbangan sebagai berikut :
1. Lisensi dari software yang akan digunakan (freeware, shareware atau
komersial).
2. Kemudahan instalasi.
3. Kemudahan dalam mengatur konfigurasi.
4. Kemudahan untuk menambah atau mengubah peripheralnya.
5. Kemampuan Software.
6. Besar ruang yang dibutuhkan untuk menyimpan file-file minimal yang
dibutuhkan agar software dapat berfungsi dengan baik.
7. Prospek software tersebut dimasa yang akan datang.
8. Performasi dan konsumsi sumber daya yang digunakan software itu.
9. Fasilitas apa yang mampu didukung oleh software itu.
10. Dukungan teknis (mempunyai site-site atau milis untuk bertanya bila terjadi
masalah).
11. Dukungan platform (jenis sistem operasi apa saja yang dapat menjalankan
software tersebut).
12. Dukungan terhadap third party (apakah software ini dapat ditambahkan software
tambahan sebagai pelengkap).
Banyak sekali software web server yang dapat kita diambil di internet. Dengan
berdasarkan pada 12 macam pertimbangan di atas, maka dapat dipilih software mana
saja yang cocok dengan kebutuhan kita. Misalnya, kita memasang web server untuk
keperluan suatu perusahaan jasa internet (ISP), maka pertimbangan yang harus diambil
adalah apakah mereka menginginkan software yang gratis atau komersial. Keuntungan
dari software komersial adalah mereka mempunyai dukungan teknis dan dokuentasi
yang lengkap. Sedangkan pada kebanyakan software gratis mereka tidak menyertakan
hal tersebut. Namun, ada juga software gratisan yang mempunyai dukungan teknis dari
pembuatnya dan dengan dokuentasi yang lengkap. Salah satu software web server
gratisan seperti itu adalah web server Apache.
Web Server Apache.
Apache merupakan web server yang paling banyak dipergunakan di Internet.
Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun
demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang
dapat dijalankan di Windows NT.
Berdasarkan sejarahnya, Apache dimulai oleh veteran developer NCSA httpd
(National Center for Supercomputing Application). Saat itu pengembangan NCSA httpd
sebagai web server mengalami stagnasi. ROB MC COOL meninggalkan NCSA dan memulai
sebuah proyek baru bersama para webmaster lainnya, menambal bug, dan
menambahkan fitur pada NCSA httpd. Mereka mengembangkan program ini lewat
mailing list. Dengan berpijak pada NCSA httpd versi 1.3, Team Apache mengeluarkan
rilis pertama kali secara resmi Apache versi 0.6.2. Tim inti pengembang Apache waktu
itu :
1. BRIAN BEHLENDORF
2. ROY T. FIELDING
3. ROB HARTILL
4. DAVID ROBINSON
5. CLIFF SKOLNICK
6. RANDY TERBUSH
7. ROBERT S. THAU
8. ANDREWWILSON
Dengan tambahan kontribusi dari :
1. ERIC HAGBERG
2. FRANK PETERS
3. NICOLAS PIOCH
Nama Apache diambil dari kata "A Patchy Server", server perbaikan yang penuh
dengan tambalan (patch). Tambalan yang dimaksud adalah penambahan fitur dan
penambalan bug dari NCSA httpd Versi 1.3.
Saat ini Apache dipergunakan secara luas. Hal ini disebabkan karena
programnya yang gratis, dengan kinerja relatif stabil. Dalam pengembangannya pun
mempergunakan sistem Bazaar, yakni tiap orang dibuka kesempatan seluas-luasnya
untuk dapat memberikan kontribusi dalam mengembangkan program. Kontribusi
dikomunikasikan lewat mailing list. Tim Apache mempunyai mailing list yang terbuka
untuk siapa saja yang ingin ambil bagian. Untuk mendaftar cukup kirim email ke
majordomo@apache.org dengan baris pertama dari email bertuliskan "subscribe newhttpd".
Perlu dicatat bahwa proyek pengembangan Apache ini mempunyai sistem
meritokrasi. Semakin banyak yang Anda sumbangkan, semakin banyak yang boleh
dikerjakan.
Apache mempunyai program pendukung yang cukup banyak. Hal ini
memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan
Apache :
1. Kontrol Akses.
Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP
2. CGI (Common Gateway Interface),
yang paling terkenal untuk digunakan adalah perl (Practical Extraction and
Report Language), didukung oleh Apache dengan menempatkannya sebagai
modul (mod_perl)
3. PHP (Personal Home Page/PHP Hypertext Processor);
program dengan metode semacam CGI, yang memproses teks dan bekerja di
server. Apache mendukung PHP dengan menempatkannya sebagai salah satu
modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik
4. SSI (Server Side Includes)
Web server Apache mempunyai kelebihan dari beberapa pertimbangan di atas :
1. Apache termasuk dalam kategori freeware.
2. Apache mudah sekali proses instalasinya jika dibanding web server lainnya
seperti NCSA, IIS, dan lain-lain.
3. Mampu beroperasi pada berbagai paltform sistem operasi.
4. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file
konfigurasi.
5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web
servernya.
Fasilitas atau ciri khas dari web server Apache adalah :
1. Dapat dijadikan pengganti bagi NCSA web server.
2. Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4.
3. Apache merespon web client sangat cepat jauh melebihi NCSA.
4. Mampu di kopilasi sesuai dengan spesifikasi HTTP yang sekarang.
5. Apache menyediakan feature untuk multihomed dan virtual server.
6. Kita dapat menetapkan respon error yang akan dikirim web server dengan
menggunkan file atau skrip.
7. Server apache dapat otomatis berkomunikasi dengan client browsernya
untuk menampilkan tampilan terbaik pada client browsernya. Misalnya,
browser ingin menampilkan dalam bahasa spanyol, maka web server apache
otomatis mencari dalam servicenya halaman-halaman dengan bahasa
spanyol.
8. Web server Apache secara otomatis menjalankan file index.html, halaman
utamanya, untuk ditampilkan secara otomatis pada clientnya.
9. Web server Apache mempunyai level-level pengamanan.
10. Apache mempunyai komponen dasar terbanyak di antara web server lain.
11. Ditinjau dari segi sejarah perkembangan dan prospeknya, Apache web server
mempunyai prospek yang cerah. Apache berasal dari web server NCSA yang
kemudian dikembangkan karena NCSA masih mempunyai kekurangan di
bidang kompatibilitasnya dengan sistim operasi lain. Sampai saat ini, web
server Apache terus dikembangkan oleh tim dari apache.org.
12. Performasi dan konsumsi sumber daya dari web server Apache tidak terlalu
banyak, hanya sekitar 20 MB untuk file-file dasarnya dan setiap daemonnya
hanya memerlukan sekitar 950 KB memory per child.
13. Mendukung transaksi yang aman (secure transaction) menggunakan SSL
(secure socket layer).
14. Mempunyai dukungan teknis melalui web.
15. mempunyai kompatibilitas platform yang tinggi.
16. mendukung third party berupa modul-modul tambahan.
Web Server Cepat
Apache adalah suatu web server serba guna, tetapi pada kegunaan khusus
terkadang kecepatan yang diberikan oleh Apache tidak mencukupi. Beberapa perangkat
lunak freeware untuk web server dengan kecepatan tinggi tersedia. Sebagian besar web
server tersebut hanya melayani halaman statis, sehingga ketika membutuhkan halaman
dinamis, maka web server serba guna seperti Apache masih dibutuhkan. Web server
cepat yang freeware tersebut antara lain :
1. Tux
Tux [http://people.redhat.com/mingo/TUX-patches/], juga dikenal dengan nama
komersial Redhat Content Accelerator [http://www.redhat.com/docs/manuals/tux/]
merupakan suatu layer protokol HTTP dan object cache yang diintegrasikan ke kernel
GNU/Linux. Merupakan suatu solusi ideal untuk menghasilkan solusi web server
yang cepat dan terintegrasi dengan kernel. TUX singkata dari Threaded linUX http
layer. Dibuat oleh Ingo Molnar (Red Hat). Merupakan suatu terobosan dalam
pemanfaatan TCP dan server Web.
2. Khttpd
Khttpd [http://www.fenrus.demon.nl/] merupakan web server yang dijalankan
pada lapisan kernel sebagai suatu modul (device driver). Hanya menangani halaman
statis, dan melwatkan permohonan informasi non-statis kepada web server di lapisan
user seperti Apache atau lainnya. Halaman statis, walau tidak kompleks tetapi sangat
penting. Sebab hampir sebagian besar gambar (image) statis, begitu juga dengan
sebagian besar halaman HTML. Suatu web server biasa memiliki overhead yang lebih
besar ketika menangani halaman statis, dengan kernel Linux hal itu dapat dilakukan di
tingkat kernel secara mudah. Dengan cara ini maka proses pelayanan halaman statis
menjadi cepat dan tidak membutuhkan sumber daya komputasi yang besar.
Merupakan suatu solusi yang cocok buat situs web dengan beban tinggi dan memiliki
halaman statis.
3. Boa
Boa [http://www.boa.org] merupakan server HTTP single task. Berbeda dengan
server web lainnya, boa tidak melakukan fork untuk setiap koneksi yang datang. Boa
juga tidak melakukan fork untuk menangani koneksi jamak. Secara internal boa
melakukan multipleks seluruh koneksi HTTP dan melakukan fork hanya untuk
program CGI (yang harus merupakan proses terpisah), melakukan pembuatan
direktori otomatis, dan melakukan gunzip berkas secara otomatis. Tujuan utama dari
disain Boa adalah kecepatan dan keamanan. Keamanan dalam arti tidak bisa diserang
oleh pengguna tak sah, bukan dalam arti pengaturan akses yang ditail ataupun
komunikasi yang terenkripsi. Server boa ini tidak ditujukan untuk server lengkap.
Dikembangkan pada tahun 1991 oleh Paul Phillips.
Categories: