Web server adalah perangkat lunak server, atau perangkat keras yang didedikasikan untuk menjalankan perangkat lunak tersebut, yang dapat memenuhi permintaan klien World Wide Web. Web server dapat, secara umum, berisi satu atau lebih situs web. Web server memproses permintaan jaringan yang masuk melalui HTTP dan beberapa protokol terkait lainnya.

Fungsi utama server web adalah menyimpan, memproses, dan mengirimkan halaman web ke klien. Komunikasi antara klien dan server berlangsung menggunakan Hypertext Transfer Protocol (HTTP). Halaman yang dikirimkan adalah dokumen HTML yang paling sering, yang mungkin termasuk gambar, style sheet dan skrip di samping konten teks.

User agent, umumnya peramban web atau perayap web, memulai komunikasi dengan membuat permintaan untuk sumber daya tertentu menggunakan HTTP dan server merespons dengan konten sumber daya itu atau pesan kesalahan jika tidak dapat melakukannya. Sumber daya biasanya berupa file nyata pada penyimpanan server sekunder, tetapi hal ini belum tentu demikian dan tergantung pada bagaimana server web di-implementasikan.

Sementara fungsi utama adalah untuk menyajikan konten, implementasi penuh HTTP juga mencakup cara menerima konten dari klien. Fitur ini digunakan untuk mengirimkan formulir web, termasuk mengunggah file.

Banyak server web generik juga mendukung server-side scripting menggunakan Active Server Pages (ASP), PHP (Hypertext Preprocessor), atau bahasa scripting lainnya.

Ini berarti bahwa perilaku server web dapat ditulis dalam file terpisah, sedangkan perangkat lunak server yang sebenarnya tetap tidak berubah. Biasanya, fungsi ini digunakan untuk menghasilkan dokumen HTML secara dinamis ("on-the-fly") sebagai lawan mengembalikan dokumen statis.

Yang pertama terutama digunakan untuk mengambil atau mengubah informasi dari database. Yang terakhir ini biasanya jauh lebih cepat dan lebih mudah di-cache tetapi tidak dapat mengirimkan konten dinamis.

Server web sering ditemukan tertanam dalam perangkat seperti printer, router, webcam dan hanya melayani jaringan lokal. Server web kemudian dapat digunakan sebagai bagian dari sistem untuk memantau atau mengelola perangkat yang dimaksud. Ini berarti bahwa tidak ada perangkat lunak tambahan yang harus diinstal pada komputer klien karena hanya diperlukan browser web (yang sekarang disertakan dengan sebagian besar sistem operasi).

Sejarah Web Server

Pada bulan Maret 1989, Sir Tim Berners-Lee mengusulkan proyek baru kepada majikannya CERN, dengan tujuan memudahkan pertukaran informasi antara para ilmuwan dengan menggunakan sistem hypertext. Proyek ini menghasilkan Berners-Lee menulis dua program pada tahun 1990:
  • Peramban web yang disebut WorldWideWeb
  • Server web pertama di dunia, yang kemudian dikenal sebagai CERN httpd, yang berjalan pada NeXTSTEP

Antara 1991 dan 1994, kesederhanaan dan keefektifan teknologi awal yang digunakan untuk berselancar dan bertukar data melalui World Wide Web membantu untuk memindahkan mereka ke berbagai sistem operasi dan menyebarkan penggunaannya di antara organisasi ilmiah dan universitas, dan kemudian ke industri.

Pada tahun 1994 Berners-Lee memutuskan untuk membentuk World Wide Web Consortium (W3C) untuk mengatur pengembangan lebih lanjut dari banyak teknologi yang terlibat (HTTP, HTML, dll.) Melalui proses standardisasi.

Path translation

Server web dapat memetakan komponen jalur dari Uniform Resource Locator (URL) menjadi:
  • Sumber daya sistem file lokal (untuk permintaan statis)
  • Nama program internal atau eksternal (untuk permintaan dinamis)

Untuk permintaan statis jalur URL yang ditentukan oleh klien relatif terhadap direktori root server web.

Pertimbangkan URL berikut karena akan diminta oleh klien melalui HTTP:

http://www.example.com/path/file.html

Agen pengguna klien akan menerjemahkannya ke koneksi ke www.example.com dengan permintaan HTTP 1.1 berikut:

GET /path/file.html HTTP/1.1
Host: www.example.com

Server web di www.example.com akan menambahkan jalur yang diberikan ke jalur direktori rootnya. Pada server Apache, ini biasanya / home / www (pada mesin Unix, biasanya / var / www). Hasilnya adalah sumber daya sistem file lokal:

/home/www/path/file.html

Server web kemudian membaca file, jika ada, dan mengirimkan respons ke browser web klien. Respons akan menggambarkan konten file dan berisi file itu sendiri atau pesan kesalahan akan kembali mengatakan bahwa file tersebut tidak ada atau tidak tersedia.

Kernel-mode dan user-mode web servers

Server web dapat dimasukkan ke dalam kernel OS, atau dalam ruang pengguna (seperti aplikasi reguler lainnya).

Server web yang berjalan dalam mode pengguna harus meminta izin sistem untuk menggunakan lebih banyak memori atau lebih banyak sumber daya CPU. Permintaan ini ke kernel tidak hanya memakan waktu, tetapi mereka tidak selalu puas karena sistem cadangan sumber daya untuk penggunaannya sendiri dan memiliki tanggung jawab untuk berbagi sumber daya perangkat keras dengan semua aplikasi yang berjalan lainnya. Menjalankan dalam mode pengguna juga bisa berarti salinan buffer yang tidak berguna yang merupakan cacat lain untuk server web mode pengguna.

Load limits

Server (program) web telah menetapkan batas pemuatan, karena hanya dapat menangani sejumlah kecil koneksi klien secara bersamaan (biasanya antara 2 dan 80.000, secara default antara 500 dan 1.000) per alamat IP (dan port TCP) dan hanya dapat melayani sejumlah maksimum permintaan per detik (RPS, juga dikenal sebagai kueri per detik atau QPS) tergantung pada:
  • pengaturannya sendiri,
  • jenis permintaan HTTP,
  • apakah kontennya statis atau dinamis,
  • apakah konten di-cache, dan
  • keterbatasan perangkat keras dan perangkat lunak OS komputer tempat server web dijalankan.

Ketika server web dekat atau melebihi batasnya, itu menjadi tidak responsif.

Penyebab overload

Setiap saat server web dapat kelebihan beban karena:
  • Kelebihan kunjungan web yang sah. Ribuan atau bahkan jutaan klien yang terhubung ke situs web dalam interval pendek, misalnya, efek Slashdot;
  • Distributed Denial of Service attacks. Serangan denial-of-service (serangan DoS) atau serangan denial-of-service terdistribusi (serangan DDoS) adalah upaya untuk membuat komputer atau sumber daya jaringan tidak tersedia bagi pengguna yang dituju;
  • Computer worms yang terkadang menyebabkan lalu lintas tidak normal karena jutaan komputer yang terinfeksi (tidak terkoordinasi di antara mereka)
  • XSS worms dapat menyebabkan lalu lintas tinggi karena jutaan browser atau server web yang terinfeksi;
  • Internet bots Traffic tidak disaring / dibatasi pada situs web besar dengan sumber daya yang sangat sedikit (bandwidth, dll.);
  • Internet (jaringan) melambat, sehingga permintaan klien dilayani lebih lambat dan jumlah koneksi bertambah banyak sehingga batas server tercapai;
  • Server web (komputer) tidak tersedianya sebagian. Ini dapat terjadi karena pemeliharaan atau peningkatan yang disyaratkan atau mendesak, kegagalan perangkat keras atau lunak, kegagalan back-end (mis., Database), dll .; dalam kasus ini server web yang tersisa mendapatkan terlalu banyak lalu lintas dan menjadi kelebihan beban.

Gejala overload

Gejala server web yang kelebihan beban (overload) adalah:
  1. Permintaan dilayani dengan penundaan (mungkin lama) (dari 1 detik hingga beberapa ratus detik).
  2. Server web mengembalikan kode kesalahan HTTP, seperti 500, 502, 503, 504, 408, atau bahkan 404, yang tidak sesuai untuk kondisi kelebihan beban.
  3. Server web menolak atau me-reset (menginterupsi) koneksi TCP sebelum mengembalikan konten apa pun.

Dalam kasus yang sangat jarang, server web hanya mengembalikan sebagian dari konten yang diminta. Perilaku ini dapat dianggap sebagai bug, meskipun biasanya muncul sebagai gejala kelebihan beban.

Teknik anti-overload

Untuk sebagian mengatasi batas beban rata-rata di atas dan untuk mencegah overload, sebagian besar situs web populer menggunakan teknik umum seperti:

Mengelola lalu lintas jaringan, dengan menggunakan:

  1. Firewall untuk memblokir lalu lintas yang tidak diinginkan yang berasal dari sumber IP buruk atau memiliki pola buruk
  2. HTTP traffic managers untuk menjatuhkan, mengarahkan ulang, atau menulis ulang permintaan yang memiliki pola HTTP buruk
  3. Manajemen bandwidth dan pembentukan lalu lintas, untuk memuluskan puncak dalam penggunaan jaringan
  4. Menyebarkan teknik cache web
  5. Menggunakan nama domain atau alamat IP yang berbeda untuk menyajikan konten yang berbeda (statis dan dinamis) oleh server web yang terpisah, mis .: (http://images.example.com, http://example.com)
  6. Menggunakan nama domain atau komputer yang berbeda untuk memisahkan file besar dari file kecil dan menengah; idenya adalah untuk dapat sepenuhnya men-cache file kecil dan menengah dan untuk secara efisien melayani file besar atau besar (lebih dari 10 - 1000 MB) dengan menggunakan pengaturan yang berbeda
  7. Menggunakan banyak server internet (program) per komputer, masing-masing terikat pada kartu jaringan dan alamat IP sendiri
  8. Menggunakan banyak server internet (komputer) yang dikelompokkan bersama di belakang penyeimbang beban sehingga mereka bertindak atau dilihat sebagai satu server web besar
  9. Menambahkan lebih banyak sumber daya perangkat keras (mis. RAM, disk) ke setiap komputer
  10. Menyetel parameter OS untuk kemampuan dan penggunaan perangkat keras
  11. Menggunakan program komputer yang lebih efisien untuk server web, dll.
  12. Menggunakan solusi lain, terutama jika konten dinamis terlibat.


Macam Macam Web Server

Setiap situs web duduk di komputer yang dikenal sebagai server Web. Server ini selalu terhubung ke internet. Setiap server Web yang terhubung ke Internet diberi alamat unik yang terdiri dari serangkaian empat angka antara 0 dan 255 yang dipisahkan oleh titik.

Ketika Anda mendaftarkan alamat web, juga dikenal sebagai nama domain, seperti transkerja.com Anda harus menentukan alamat IP dari server Web yang akan meng-host situs. Anda dapat memuat dengan Server Khusus yang dapat mendukung operasi berbasis web Anda.

7 Macam Web Server Paling Populer di Dunia

Ada empat server web terkemuka - Apache, IIS, lighttpd dan Jagsaw. Sekarang kita akan melihat server-server ini sedikit lebih detail. Terlepas dari Server Web ini, ada Server Web lain yang juga tersedia di pasaran tetapi harganya sangat mahal. Yang utama adalah iPlanet Netscape, Web Logic Bea dan IBM WebSphere.

1. Apache HTTP Server

Ini adalah server web paling populer di dunia yang dikembangkan oleh Apache Software Foundation. Server web Apache adalah software open source dan dapat diinstal pada hampir semua sistem operasi termasuk Linux, Unix, Windows, FreeBSD, Mac OS X dan banyak lagi. Sekitar 60% dari mesin server web menjalankan Apache Web Server. Anda dapat memiliki Apache dengan modul tomcat untuk mendapatkan dukungan terkait JSP dan J2EE. Anda dapat memiliki informasi terperinci tentang server ini di Apache HTTP Server

2. LiteSpeed Web Server

LiteSpeed Web Server (LSWS), adalah perangkat lunak server web ke-4 terpopuler, diperkirakan akan digunakan oleh 4,2% situs web pada Mei 2019. LSWS dikembangkan oleh LiteSpeed Technologies milik pribadi. Perangkat lunak ini merupakan pengganti drop-in Apache, artinya menggunakan format konfigurasi yang sama dengan Apache. LSWS dirilis pada tahun 2003, dan pada bulan Agustus 2008 menjadi server web ke-16 yang paling populer. Pada November 2016, pangsa pasar LiteSpeed tumbuh dari 0,39% menjadi 3,29%, meningkatkan posisinya dari server web terpopuler ke-10 ke-4 menurut Netcraft. Pada 2017, sebuah tim dari Hong Kong Polytechnic University menemukan itu menjadi salah satu dari enam server web paling populer, dan diperkirakan oleh tim di RWTH Aachen University untuk menjalankan 9,2% dari semua situs web yang mendukung HTTP / 2-enabled. Pada Desember 2017, LSWS digunakan oleh 97,5% situs web menggunakan QUIC.

LiteSpeed Web Server (LSWS) kompatibel dengan fitur Apache yang umum digunakan, termasuk mod_rewrite, .htaccess, dan mod_security. LSWS dapat memuat file konfigurasi Apache secara langsung dan berfungsi sebagai pengganti drop-in untuk Apache sementara sepenuhnya terintegrasi dengan panel kontrol yang populer. LSWS menggantikan semua fungsi Apache, tetapi menggunakan pendekatan event driven untuk menangani permintaan.

3. Internet Information Services

Internet Information Server (IIS) adalah Server Web berkinerja tinggi dari Microsoft. Server web ini berjalan pada platform Windows NT / 2000 dan 2003 (dan mungkin juga pada versi Windows baru yang akan datang). IIS dibundel dengan Windows NT / 2000 dan 2003; Karena IIS terintegrasi erat dengan sistem operasi sehingga relatif mudah untuk mengaturnya. Anda dapat memiliki informasi terperinci tentang server ini di Miscrosoft IIS

4. Lighttpd Server

Lighttpd, diucapkan lighty juga merupakan server web gratis yang didistribusikan dengan sistem operasi FreeBSD. Server web sumber terbuka ini cepat, aman dan mengkonsumsi daya CPU jauh lebih sedikit. Lighttpd juga dapat berjalan di sistem operasi Windows, Mac OS X, Linux dan Solaris. Anda dapat memiliki informasi terperinci tentang server ini di lighttpd

5. Sun Java System Web Server

Server web ini dari Sun Microsystems cocok untuk situs web menengah dan besar. Meskipun server gratis, ini bukan open source. Namun, ini berjalan pada platform Windows, Linux dan Unix. Server web Sun Java System mendukung berbagai bahasa, skrip, dan teknologi yang diperlukan untuk Web 2.0 seperti JSP, Java Servlets, PHP, Perl, Python, Ruby on Rails, ASP, dan Coldfusion dll. Anda dapat memiliki informasi terperinci tentang server ini di Sun Java Server Web Sistem

6. Jigsaw Server

Jigsaw (Server W3C) berasal dari World Wide Web Consortium. Ini adalah open source dan gratis dan dapat berjalan di berbagai platform seperti Linux, Unix, Windows, Mac OS X BSD Gratis dll. Jigsaw telah ditulis dalam Java dan dapat menjalankan skrip CGI dan program PHP. Anda dapat memiliki informasi terperinci tentang server ini di Jigsaw Server

7. Web Server Nginx

Nginx adalah server web yang juga dapat digunakan sebagai proksi terbalik, penyeimbang beban, proksi email, dan cache HTTP. Perangkat lunak ini dibuat oleh Igor Sysoev dan dirilis pertama kali pada tahun 2004. Sebuah perusahaan dengan nama yang sama didirikan pada 2011 untuk memberikan dukungan dan Nginx plus perangkat lunak berbayar. Nginx adalah perangkat lunak bebas dan sumber terbuka, dirilis di bawah ketentuan lisensi mirip BSD. Sebagian besar server web menggunakan NGINX, sering sebagai penyeimbang beban. Pada bulan Maret 2019, perusahaan Nginx diakuisisi oleh F5 Networks seharga $ 670 juta.

Nginx dapat digunakan untuk menyajikan konten HTTP dinamis di jaringan menggunakan FastCGI, penangan SCGI untuk skrip, server aplikasi WSGI atau modul Phusion Passenger, dan dapat berfungsi sebagai penyeimbang beban perangkat lunak. Nginx menggunakan pendekatan event-driven asinkron, bukan utas, untuk menangani permintaan. Arsitektur event-driven modular Nginx dapat memberikan kinerja yang lebih mudah diprediksi di bawah beban tinggi.

Materi Tentang Web Server Paling Populer Di Dunia Lengkap Dengan Contoh Web Server
Baca Juga