Pelayan web

Pelayan web ialah sejenis atur cara komputer yang menerima pertanyaan HTTP daripada pelanggan, lazimnya pelayar web, dan menjawab pertanyaan tersebut, lazimnya dalam bentuk laman HTML.

Untuk menyediakan perkhidmatan web secara lancar di Jaringan Sejagat, sesebuah pelayan web perlulah dijalankan pada komputer yang berkuasa tinggi. Komputer jenis ini dinamakan komputer pelayan.

Contoh perisian pelayan web yang popular ialah Apache dan Internet Information Services.

Pelayan web merujuk kepada perisian pelayan , atau perkakasan yang dikhususkan untuk menjalankan perisian tersebut, yang boleh menyampaikan kandungan ke Jaringan Sejagat. Pelayan web memproses permintaan rangkaian masuk melalui protokol HTTP (dan beberapa protokol lain yang berkaitan)..

Gambaran menyeluruh

Fungsi utama pelayan web adalah untuk menyimpan, memproses dan menyampaikan laman web kepada pelanggan. Komunikasi antara klien dan pelayan berlaku menggunakan Protokol Pemindahan Hypertext (HTTP) . Halaman yang dihantar yang paling kerap adalah dokumen HTML, yang mungkin termasuk imej, helaian gaya ("style sheets") dan skrip selain daripada kandungan teks.

Ejen pengguna , biasanya pelayar web atau perangkak web, memulakan komunikasi dengan membuat permintaan bagi sumber khusus dengan menggunakan HTTP dan pelayan membalas dengan kandungan sumber itu atau mesej ralat jika tidak dapat melakukannya. Sumber biasanya merupakan fail sebenar pada storan sekunder pelayan, tetapi ini tidak semestinya berlaku dan bergantung pada bagaimana pelayan web dilaksanakan.

Sungguhpun fungsi utama adalah untuk menyampaikan kandungan, pelaksanaan penuh HTTP juga termasuk cara menerima kandungan dari klien. Ciri ini digunakan untuk menyerahkan borang web, termasuk memuat naik fail.

Banyak pelayan web generik juga menyokong penskrip sisi pelayan menggunakan Active Server Pages (ASP), PHP, atau bahasa skrip lain. Ini bermakna tingkah laku pelayan web boleh diskripkan dalam fail berasingan, sementara perisian pelayan sebenar tidak berubah. Biasanya, fungsi ini digunakan untuk menjana dokumen HTML secara dinamik ("on-the-fly") berbanding dengan dokumen statik yang dikembali. Yang pertama digunakan terutamanya untuk mendapatkan atau mengubah maklumat daripada pangkalan data. Yang terakhir biasanya lebih cepat dan lebih mudah di-simpan tetapi tidak dapat memberikan kandungan dinamik.

Pelayan web tidak hanya digunakan untuk melayani Jaringan Sejagat. Ia juga boleh didapati dibenamkan dalam peranti seperti pencetak, penghala, kameraweb dan hanya berkhidmat bagi rangkaian tempatan. Pelayan web kemudiannya boleh digunakan sebagai sebahagian daripada sistem untuk memantau atau mentadbir peranti yang dimaksudkan. Ini biasanya bermaksud bahawa tiada perisian tambahan perlu dipasang pada komputer klien semata-mata kerana hanya pelayar web yang diperlukan (yang kini disertakan dengan kebanyakan sistem operasi).

Sejarah 

Pada tahun 1989, Sir Tim Berners-Lee mencadangkan satu projek baru kepada majikannya CERN, dengan matlamat memudahkan pertukaran maklumat antara ahli sains dengan menggunakan sistem hiperteks. Projek ini hasil Berners-Lee menulis dua program pada tahun 1990:

 Pelayar bernama WorldWideWeb
 Pelayan web pertama di dunia, yang kemudiannya dikenali sebagai CERN httpd , yang dijalankan di NeXTSTEP

Antara tahun 1991 dan 1994, kesederhanaan dan keberkesanan teknologi awal yang digunakan untuk melayari dan bertukar data melalui Jaringan Sejagat membantu memindahkan mereka ke banyak sistem operasi yang berbeza dan menyebarkan penggunaannya di kalangan organisasi sains dan universiti, dan seterusnya kepada industri.

Pada tahun 1994, Berners-Lee membuat keputusan untuk membentuk World Wide Web Consortium (W3C) untuk mengawal pembangunan lebih banyak teknologi yang terlibat ( HTTP , HTML , dll) melalui proses standardisasi.

Terjemahan laluan
Pelayan web dapat memetakan komponen laluan Pelokasi Sumber Seragam ("Uniform Resource Locator - URL") ke dalam:
 Sumber sistem fail tempatan (untuk permintaan statik)
N* ama program dalaman atau luaran (untuk permintaan dinamik)

Untuk permintaan statik, laluan URL yang dinyatakan oleh klien adalah bandingan pada 	direktori akar pelayan web.

Lihat URL berikut sebagaimana ia diminta oleh pelanggan:

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

Ejen pengguna klien akan menerjemahkannya ke sambungan ke www.example.com dengan permintaan HTTP 1.1 yang berikut:

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

Pelayan web di www.example.com akan menambahkan laluan yang diberikan ke laluan direktori akarnya. Pada pelayan Apache, ini biasanya /home/www (pada mesin Uni , biasanya /var/www). Hasilnya ialah sumber sistem fail tempatan:

 /home/www/path/file.html

Pelayan web kemudian membaca fail tersebut, jika ada, dan menghantar balasan kepada pelayar web klien. Balasan itu akan menerangkan kandungan fail dan mengandungi fail itu sendiri atau mesej ralat akan kembali mengatakan bahawa fail itu tidak wujud atau tidak tersedia.

Mod kernel dan pelayan web mod pengguna 

Pelayan web boleh samada dimasukkan ke dalam kernel OS, atau ruang pengguna (seperti aplikasi biasa lain).

Pelayan web yang dilaksanakan dalam mod pengguna perlu meminta kebenaran sistem untuk menggunakan lebih banyak ingatan atau lebih banyak sumber CPU. Bukan sahaja permintaan ini kepada kernel mengambil masa, tetapi ia tidak selalu diberikan kerana sistem itu menyimpan sumber untuk penggunaannya sendiri dan mempunyai tanggungjawab untuk berkongsi sumber perkakasan dengan semua aplikasi yang dijalankan. Melaksanakan dalam mod pengguna juga boleh berarti salinan penampan yang tidak berguna yang merupakan kecacatan lain untuk pelayan web mod pengguna.

Had beban 
Pelayan web (program) telah menentukan had beban, kerana ia hanya dapat mengendalikan bilangan pelanggan serentak yang terbatas (biasanya antara 2 dan 80,000, secara lalai antara 500 dan 1,000) setiap alamat IP (dan port TCP) dan hanya dapat berfungsi bilangan permintaan maksimum sesaat (RPS, juga dikenali sebagai pertanyaan sesaat atau QPS) bergantung pada:

 tetapannya sendiri,
 jenis permintaan HTTP,
 sama ada kandungan itu statik atau dinamik,
 sama ada kandungan itu di- cache , dan
 batasan perkakasan dan perisian OS komputer yang dijalankan oleh pelayan web.
 Apabila pelayan web sudah dekat atau melebihi hadnya, ia menjadi tidak responsif.

Punca lebih had
Pada bila-bila masa pelayan web boleh lebih had kerana:

 Lalu lintas melampau web yang sah. Beribu-ribu atau bahkan berjuta-juta pelanggan yang menyambung ke laman web dalam jarak yang singkat, contohnya, kesan Slashdot ;
 Serangan Penafian Penyebaran Perkhidmatan . Serangan penafian perkhidmatan (serangan DoS) atau serangan penafian-perkhidmatan yang diedarkan (serangan DDoS) adalah percubaan untuk membuat sumber komputer atau rangkaian tidak dapat dicapai oleh pengguna yang dimaksudkan;
 Cacing komputer yang kadang-kadang menyebabkan trafik yang tidak normal kerana berjuta-juta komputer yang dijangkiti (tidak diselaraskan di kalangan mereka)
 Virus XSS boleh menyebabkan lalu lintas yang tinggi kerana berjuta-juta pelaray atau pelayan web yang dijangkiti;
 Bots Internet Lalu lintas tidak ditapis / terhad pada laman web yang besar dengan hanya sedikit sumber (jalur lebar, dll.);
 Sambungan internet (rangkaian) perlahan, menyebabkan permintaan pelanggan disampaikan dengan lebih perlahan dan bilangan sambungan meningkat sehingga had pelayan dicapai;
 Pelayan web ( komputer ) tidak boleh dicapai separa. Ini boleh berlaku kerana penyelenggaraan yang diperlukan atau mendesak, kegagalan perkakasan atau perisian, kegagalan bahagian-belakang (misalnya, pangkalan data ), dan lain-lain; dalam kes ini, pelayan web yang lain mendapat terlalu banyak lalu lintas dan menjadi melebihi beban.

Gejala-gejala terlebih beban 
Gejala-gejala pelayan web yang terlebih beban adalah:

 Permintaan dilayan dengan penangguhan (mungkin panjang) (dari 1 saat hingga beberapa ratus saat).
 Pelayan web mengembalikan kod ralat HTTP, seperti 500, 502, 503, 504, 408, atau bahkan 404, yang tidak sesuai bagi terlebih beban.
 Pelayan web enggan atau mengeset semula (mengganggu) sambungan TCP sebelum ia mengembalikan sebarang kandungan.
 Dalam kes yang sangat jarang berlaku, pelayan web mengembalikan hanya sebahagian daripada kandungan yang diminta. Tingkah laku ini boleh dianggap sebagai pepijat, walaupun ia biasanya muncul sebagai simptom terlebih beban.

Rujukan

Pautan luar
 RFC 2616, the Request for Comments document that defines the HTTP 1.1 protocol
 C64WEB.COM — Commodore 64 running as a web server using Contiki

Pelayan web