Web Server

13.3. Web Server

Pengertian web server dapat diartikan sebagai berikut :

1. Komputer yang memiliki tanggung jawab untuk menerima HTTP request dari client, yang biasanya menggunakan web browser dan melayani dalam bentuk halaman web, dimana biasanya berupa dokumen HTML dan objek link seperti gambar dll.

2. Program komputer yang melayani HTTP.

13.3.1. Fitur

Banyak program web server yang beredar, tetapi pada dasarnya memiliki fitur yang sama yaitu :

1. HTTP: merespon permintaan HTTP dan memberikan jawaban HTTP dengan memberikan dokumen HTML dan memberikan informasi kesalahan bila terjardi kesalahan.

2. Logging: web server memiliki fasilitas logging tentang informasi client yang melakukan request, respon yang diberikan oleh server, disimpan pada suatu file log. Dari file log tersebut webmaster dapat membuat analisa statistik dengan menjalan aplikasi log analyzer.

Pada prakteknya webserver juga memberikan fasilitas lainnya yaitu :

1. Configurability, dapat dilakukan konfigurasi bahkan dengan aplikasi eksternal

2. Authentication, memberikan fasilitas authorisasi (meminta informasi username dan password), sebelum mengakses suatu atau semua resource

3. Dapat menangani tidak hanya konten static tetapi juga konten dinamik yang diberikan dari berbagai interface (SSI, CGI, SCGI, FastCGI, PHP, ASP, ASP.NET, ServerAPI, dll)

4. Mendukung Modular, memberikan fasilitas diluar program inti, dan ditempatkan dalam bentuk modular, sehingga server bisa memanggilnya apabila diperlukan.

5. HTTPS protokol HTTP dengan keamanan enkripsi dari SSL maupun TLS. Menggunakan koneksi pada port 443.

6. Kompresi terhadap konten dengan menggunakan fasilitas gzip, sehingga bisa mengurangi penggunaan bandwidth

7. Virtual Host, membentuk multi web server walau hanya menggunakan 1 alamat IP

8. Mendukung file dengan ukuran besar

9. Bandwidth Throttling, dapat mengatur penggunaan bandwidth terhadap pengakses

13.3.2. Tipe Konten

Konten yang diberikan oleh webserver dapat dikatakan : - statik, apabila berasal dari file yang terdapat pada filesistem - dinamik, apabila berasal dari suatu program atau script yang dipanggil oleh web

server. Memberikan layanan statik dapat diakses lebih cepat dari pada layanan dinamik, terlebih lagi bila konten tersebut harus mengakses database terlebih dahulu.

13.3.3. Translasi Path

Web server melakukan peralihan jalur dari URL menuju ke filesistem, dimana URL pada web server relatif terhadap direktori document root.

Contoh client mengakses suatu alamat http://www.example.com/path/file.html

Web browser akan merubah menjadi HTTP/1.1 request GET /path/file.html HTTP/1.1

Host : www.example.com

Web server pada www.example.com akan menambahkan path tersebut pada akar direktori. Pada mesin Unix biasanya terletak di /var/www/htdocs, sehingga menjadi /var/www/htdocs/path/file.html

Web server akan membaca file tersebut, apabila file tersebut dapat ditemukan maka akan dikirimkan kepada client sebagai HTTP respon.

13.3.4. Konkuren (concurency)

Aplikasi program web server menggunakan teknik pemrograman konkuren. Bahkan dikombinasikan dengan finite state machine dan non-blocking I/O, untuk melayani permintaan HTTP.

13.3.5. Sejarah

Pada tahun 1998 Tim Berners-Lee mengusulkan kepada CERN (Pusat penelitian nuklir di Eropa) sebuah proyek dengan tujuan mempermudah pertukaran informasi antar Pada tahun 1998 Tim Berners-Lee mengusulkan kepada CERN (Pusat penelitian nuklir di Eropa) sebuah proyek dengan tujuan mempermudah pertukaran informasi antar

Gambar 13.5 Mesin webserver pertama

13.3.6. Perangkat Lunak

Top rangking program aplikasi web server adalah : - Apache HTTP Server dari Apache Software Foundation - Internet Information Services (IIS) dari Microsoft - Sun Java System Web Server dari Sun Microsystem, dalam bentuk Sun ONE web

server, iPlanet web server, dan Netscape Enterprice Server - Zeus Web Server dari Zeus Technology