Server
web atau
Peladen web adalah perangkat lunak server, atau perangkat keras yang didedikasikan untuk menjalankan perangkat lunak ini, yang dapat memenuhi permintaan klien di World Wide
web. Server
web dapat, secara umum, berisi satu atau lebih situs
web. Server
web memproses permintaan jaringan yang masuk melalui HTTP dan beberapa protokol terkait lainnya.
Fungsi utama server
web adalah untuk 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.
Agen pengguna, 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 sekunder server, tetapi ini belum tentu demikian dan tergantung pada bagaimana server
web diimplementasikan.
Sementara fungsi utamanya adalah untuk menyajikan konten, implementasi penuh HTTP juga mencakup cara penerimaan konten dari klien. Fitur ini digunakan untuk mengirimkan formulir
web, termasuk mengunggah file.
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 biasanya 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
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 bernama 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.
Terjemahan path
Server
web dapat memetakan komponen path 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 path 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 www.example.com dengan permintaan HTTP / 2 berikut:
GET /path/file.html HTTP/2
Host: www.example.com
Server
web pada www.example.com akan menambahkan path yang diberikan ke path direktori root-nya. Di 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.
Server web mode-kernel dan mode-pengguna
Server
web dapat dimasukkan ke dalam kernel OS, atau di 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 tidak berguna yang merupakan batasan lain untuk server
web mode pengguna.
Batas beban
Server
web (program) telah menetapkan batas beban, karena ia 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 berjalan.
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, mis., Efek Slashdot;
Serangan Distributed Denial of Service. Serangan denial-of-service (serangan DoS) atau serangan distributed denial-of-service (serangan DDoS) adalah upaya untuk membuat komputer atau sumber daya jaringan tidak tersedia bagi pengguna yang dituju;
Worm komputer yang terkadang menyebabkan lalu lintas tidak normal karena jutaan komputer yang terinfeksi (tidak terkoordinasi di antara mereka)
Worm XSS dapat menyebabkan lalu lintas tinggi karena jutaan browser atau server
web yang terinfeksi;
Bot internet Lalu lintas 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 adalah:
Permintaan dilayani dengan penundaan (mungkin lama) (dari 1 detik hingga beberapa ratus detik).
Server
web menanggapi dengan kode kesalahan HTTP, seperti 500, 502, 503, 504, 408, atau bahkan 404, yang tidak pantas untuk kondisi kelebihan beban.
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 kelebihan beban, sebagian besar situs
web populer menggunakan teknik umum seperti:
Mengelola lalu lintas jaringan, dengan menggunakan:
Firewall untuk memblokir lalu lintas yang tidak diinginkan yang berasal dari sumber IP buruk atau memiliki pola buruk
Manajer lalu lintas HTTP untuk menjatuhkan, mengarahkan ulang, atau menulis ulang permintaan yang memiliki pola HTTP buruk
Manajemen bandwidth dan pembentukan lalu lintas, untuk memuluskan puncak dalam penggunaan jaringan
Menggunakan teknik cache
web
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
Menggunakan nama domain atau komputer yang berbeda untuk memisahkan file besar dari file kecil dan menengah; idenya adalah untuk dapat sepenuhnya cache file kecil dan menengah dan untuk secara efisien melayani file besar atau besar (lebih dari 10 - 1000 MB) dengan menggunakan pengaturan yang berbeda
Menggunakan banyak server internet (program) per komputer, masing-masing terikat pada kartu jaringan dan alamat IP sendiri
Menggunakan banyak server internet (komputer) yang dikelompokkan bersama di belakang penyeimbang beban sehingga mereka bertindak atau dilihat sebagai satu server
web besar
Menambahkan lebih banyak sumber daya perangkat keras (mis. RAM, disk) ke setiap komputer
Menyetel parameter OS untuk kemampuan dan penggunaan perangkat keras
Menggunakan program komputer yang lebih efisien untuk server
web, dll.
Menggunakan solusi lain, terutama jika konten dinamis terlibat.
Saham
= Februari 2019
=
Di bawah ini adalah statistik terbaru pangsa pasar semua situs server
web teratas di Internet oleh W3Techs. Penggunaan Server
web untuk Situs
web.
Semua server
web lain digunakan oleh kurang dari 1% dari situs
web.
= Juli 2018
=
Di bawah ini adalah statistik terbaru pangsa pasar semua situs server
web teratas di Internet oleh W3Techs Penggunaan Server
web untuk Situs
web.
Semua server
web lain digunakan oleh kurang dari 1% dari situs
web.
= Februari 2017
=
Di bawah ini adalah statistik terbaru pangsa pasar dari semua situs server
web teratas di Internet oleh Netcraft Survei Server
web Februari 2017 .
= Februari 2016
=
Di bawah ini adalah statistik terbaru pangsa pasar dari semua situs server
web teratas di Internet oleh Netcraft Survei Server
web Februari 2016.
Apache, IIS dan Nginx adalah server
web yang paling banyak digunakan di World Wide
web.
Lihat pula
Server (komputasi)
Aplikasi server
Hosting virtual
Situs
web
layanan
web
Aplikasi
web sumber terbuka
Proksi
web
Layanan hosting
web
Referensi
Pranala luar
RFC 2616, dokumen Request for Comments yang mendefinisikan protokol HTTP 1.1