You are on page 1of 10

Web server dapat merujuk baik perangkat keras (komputer) atau perangkat lunak (aplikasi komputer) yang membantu

untuk memberikan konten yang dapat diakses melalui Internet Penggunaan paling umum dari server Web adalah untuk host situs Web tetapi ada kegunaan lain seperti penyimpanan data atau untuk menjalankan aplikasi enterprise. isi

Fungsi utama dari web server adalah memberikan halaman web pada permintaan untuk klien. Ini berarti pengiriman dokumen HTML dan konten tambahan yang dapat dimasukkan oleh dokumen, seperti gambar, style sheet dan javascripts. Seorang klien, biasanya web browser atau web crawler, memulai komunikasi dengan membuat permintaan untuk sumber daya tertentu menggunakan HTTP dan server merespon dengan isi dari sumber daya yang atau pesan kesalahan jika mampu melakukannya. Sumber daya biasanya file nyata pada memori sekunder server, tapi ini belum tentu demikian dan tergantung pada bagaimana web server diimplementasikan. Sementara fungsi utama adalah untuk melayani konten, implementasi penuh HTTP juga mencakup cara menerima konten dari klien. Fitur ini digunakan untuk mengirimkan formulir Web, termasuk meng-upload file. Banyak server web generik juga mendukung server-side scripting, misalnya, Apache HTTP Server dan PHP. Ini berarti bahwa perilaku dari server web dapat ditulis dalam file terpisah, sementara perangkat lunak server yang sebenarnya tetap tidak berubah. Biasanya, fungsi ini digunakan untuk membuat dokumen HTML "on-the-fly" sebagai lawan dokumen tetap kembali. Hal ini disebut sebagai konten dinamis dan statis masing-masing. Yang pertama terutama digunakan untuk mengambil dan / atau memodifikasi informasi dari database. Yang terakhir adalah, bagaimanapun, biasanya jauh lebih cepat dan lebih mudah cache. Web server tidak selalu digunakan untuk melayani dunia web yang luas. Mereka juga dapat ditemukan tertanam di perangkat seperti printer, router, Webcam dan melayani hanya jaringan lokal. Web server kemudian dapat digunakan sebagai bagian dari sistem untuk pemantauan dan / atau pengadministrasian perangkat tersebut. Ini biasanya berarti bahwa tidak ada software tambahan harus diinstal pada komputer klien, karena hanya web browser diperlukan (yang sekarang disertakan dengan sistem operasi yang paling).

Pada tahun 1989 Tim Berners-Lee mengusulkan kepada majikannya CERN (Organisasi Eropa untuk Riset Nuklir) sebuah proyek baru, yang memiliki tujuan meringankan pertukaran informasi antara para ilmuwan dengan menggunakan sistem hypertext. Sebagai hasil dari pelaksanaan proyek ini, pada tahun 1990 Berners-Lee menulis dua program: * Browser bernama WorldWideWeb; * Pertama di dunia web server, kemudian dikenal sebagai CERN httpd, yang berlari dalam NeXTSTEP.

Antara 1991 dan 1994 kesederhanaan dan efektivitas teknologi awal yang digunakan untuk surfing dan pertukaran data melalui World Wide Web pada port membantu mereka untuk banyak sistem operasi yang berbeda dan menyebarkan penggunaannya mereka di antara banyak kelompok sosial orang yang berbeda, pertama dalam organisasi ilmiah, di universitas dan akhirnya di industri. Pada tahun 1994 Tim Berners-Lee memutuskan untuk membentuk World Wide Web Consortium (W3C) untuk mengatur pengembangan lebih lanjut dari teknologi yang terlibat (HTTP, HTML, dll) melalui proses standarisasi.

Fitur umum 1.Virtual hosting adalah sebuah metode untuk hosting beberapa nama domain pada komputer dengan menggunakan satu alamat IP. Hal ini memungkinkan satu mesin untuk berbagi sumber daya, seperti siklus memori dan prosesor, menggunakan sumber daya yang lebih efisien. Salah satu aplikasi yang banyak digunakan adalah shared hosting web. Shared web hosting harga lebih rendah dari dedicated web server karena banyak pelanggan dapat host pada server tunggal. Berdasarkan nama Nama berbasis virtual host menggunakan nama beberapa host untuk alamat IP webserver yang sama. Dengan web browser yang mendukung HTTP/1.1 (karena hampir semua sekarang lakukan), setelah menghubungkan ke webserver, browser mengirimkan nama host dari alamat bahwa pengguna mengetik ke address bar browser mereka bersama dengan sumber daya yang diminta itu sendiri untuk webserver. Server dapat menggunakan kolom Host header untuk menentukan situs web yang (atau virtual host), serta halaman, untuk menunjukkan pengguna. Browser menentukan alamat dengan menetapkan Host header HTTP dengan host yang ditentukan oleh pengguna. Host header diperlukan di semua HTTP/1.1 permintaan. Misalnya, server dapat menerima permintaan untuk dua domain, www.example.com dan www.example.net, baik yang menyelesaikan ke alamat IP yang sama. Untuk www.example.com, server akan mengirim file HTML dari direktori / var / www / user / Joe / situs /, sementara permintaan www.example.net akan membuat server melayani halaman dari / var / www / user / Maria / situs /.

Contoh: Sebuah server host blog dapat menggunakan hosting Nama dasar. blog1.example.com dan blog2.example.com Cons Jika Domain Name System (DNS) adalah tidak benar berfungsi, itu menjadi jauh lebih sulit untuk mengakses situs hampir-host. Pengguna dapat mencoba untuk jatuh kembali untuk menggunakan alamat IP untuk menghubungi sistem, seperti dalam http://10.23.45.67/. Web browser tidak tahu mana nama host untuk menggunakan ketika hal ini terjadi, apalagi, karena web server bergantung pada klien memberitahu web browser itu apa nama server (vhost) untuk menggunakan, server akan merespon dengan default situs-sering tidak situs pengguna mengharapkan. Sebuah solusi dalam hal ini adalah dengan menambahkan alamat IP dan nama host ke host file sistem klien. Mengakses server dengan nama domain harus bekerja lagi. Pengguna harus berhatihati ketika melakukan ini, bagaimanapun, karena setiap perubahan pada pemetaan yang benar antara nama host dan IP akan dikesampingkan dengan pengaturan lokal. Workaround ini tidak benar-benar berguna untuk pengguna web rata-rata, tetapi mungkin menggunakan beberapa ke administrator situs sementara memperbaiki catatan DNS. Masalah lain dengan virtual hosting adalah ketidakmampuan untuk host situs Web aman menjalankan beberapa Secure Sockets Layer atau SSL. Karena SSL handshake terjadi sebelum nama host yang diharapkan dikirim ke server, server tidak tahu mana sertifikat untuk hadir ketika sambungan dibuat. Salah satu solusi adalah untuk menjalankan program web server, masingmasing mendengarkan port masuk yang berbeda, yang masih memungkinkan sistem untuk hanya menggunakan satu alamat IP. Jika program web server menjalankan beberapa dianggap canggung, solusi yang lebih efisien untuk memilih TLS (TLS 1.1 atau lambat, yang memungkinkan berdasarkan nama virtual hosting pada Juni 2003, didokumentasikan di RFC3546, RFC4366 dan diperbarui dalam). Pilihan lain adalah dengan melakukan IP-Aliasing, di mana antarmuka jaringan tunggal mendengarkan pada lebih dari satu alamat IP Berbasis IP Dalam berbasis IP poin hosting situs masing-masing (baik nama host DNS atau sekelompok nama host DNS yang bertindak sama) virtual ke alamat IP yang unik. Web server dikonfigurasi dengan beberapa interface jaringan fisik, antarmuka jaringan virtual pada interface fisik yang sama atau beberapa alamat IP pada satu antarmuka. Web server dapat memperoleh alamat koneksi TCP dimaksudkan untuk menggunakan API standar dan menggunakan ini untuk menentukan situs web untuk melayani. Klien tidak terlibat dalam proses ini dan karena itu (berbeda dengan nama berdasarkan virtual hosting) tidak ada masalah kompatibilitas. Port berbasis Port default untuk HTTP adalah nomor 80. Namun, sebagian besar webservers dapat dikonfigurasi untuk beroperasi di hampir semua nomor port, asalkan nomor port tidak digunakan oleh program lain pada server.

Sebagai contoh, server mungkin host www.example.com situs. Namun, jika mereka ingin mengoperasikan situs kedua, tidak memiliki akses ke konfigurasi nama domain untuk nama domain mereka, dan / atau tidak ada sendiri alamat IP lain yang bisa mereka gunakan untuk melayani situs dari, mereka malah bisa menggunakan nomor port lain , misalnya, www.example.com:81 untuk port 81, atau www.example.com:8000 untuk port 8000. menggunakan Virtual web hosting sering digunakan pada skala besar di perusahaan yang model bisnis adalah untuk menyediakan website hosting murah bagi pelanggan. Sebagian besar situs seperti layanan pelanggan web hosting di seluruh dunia-host pada server bersama, menggunakan teknologi virtual hosting. Banyak bisnis menggunakan server virtual untuk keperluan internal, di mana ada teknologi atau alasan administratif untuk menjaga website terpisah beberapa seperti website extranet pelanggan, karyawan extranet, intranet internal, intranet untuk departemen yang berbeda. Jika tidak ada masalah keamanan di arsitektur situs web, mereka dapat digabungkan menjadi sebuah server tunggal dengan menggunakan teknologi virtual hosting, yang mengurangi overhead manajemen dan administrasi dan jumlah server yang terpisah diperlukan untuk Dukungan file besar, sering disingkat LFS, adalah istilah yang sering diterapkan pada kemampuan untuk membuat file lebih besar dari 2 GB pada 32-bit sistem operasi Alasan Secara tradisional, banyak sistem operasi dan implementasi file yang mendasari sistem mereka digunakan 32-bit integer untuk mewakili ukuran file dan posisi. Akibatnya tidak ada file bisa lebih besar dari 232 byte (4 GiB). Masalahnya diperburuk dengan memperlakukan ukuran sebagai angka ditandatangani, yang selanjutnya menurunkan membatasi untuk 231 byte (2 GB). File yang lebih besar dari 2 GiB, terlalu besar untuk 32-bit sistem operasi untuk menangani, kemudian dikenal sebagai file besar. Sementara batas 2 GB cukup dapat diterima pada saat hard disk lebih kecil, peningkatan umum dalam kapasitas penyimpanan dikombinasikan dengan server meningkat dan penggunaan desktop, terutama untuk file database dan multimedia, menyebabkan tekanan yang kuat untuk vendor OS untuk menghapus pembatasan . Pada tahun 1996, beberapa vendor menanggapi dengan membentuk sebuah inisiatif industri yang dikenal sebagai KTT File Besar (sehingga "LFS" dapat dipertimbangkan untuk berdiri baik untuk "dukungan file Besar" atau "KTT File Besar"), bertugas untuk mendefinisikan sebuah cara standar untuk beralih untuk 64-bit untuk mewakili ukuran file. (Hanya memastikan ukuran diperlakukan sebagai nomor unsigned akan hanya sampai batas dari 2 GB sampai 4 GiB, yang akan telah hanya mengukur sementara mengingat pertumbuhan eksplosif dalam penyimpanan data.) Perlu dicatat bahwa 64-bit sistem operasi seperti sebagai Tru64 UNIX tidak pernah memiliki batas 32-bit untuk mulai dengan, dan karenanya tidak membutuhkan "dukungan file yang besar" tambahan. Switch ini menyebabkan masalah penyebaran dan pilihan desain yang dibutuhkan konsekuensi

yang masih dapat dilihat: * Perubahan untuk 64-bit ukuran file yang sering diperlukan perubahan yang tidak kompatibel dengan tata letak file sistem, yang berarti mendukung file besar kadang-kadang mengharuskan perubahan sistem file. Misalnya, sistem file FAT32 Microsoft Windows tidak mendukung file yang lebih besar dari 4 GiB; seseorang harus menggunakan NTFS sebagai gantinya. * Untuk mendukung kompatibilitas biner dengan aplikasi lama, antarmuka sistem operasi harus mempertahankan penggunaan 32-bit ukuran file dan antarmuka baru harus dirancang khusus untuk mendukung file yang besar. * Untuk mendukung menulis kode portabel yang menggunakan LFS mana mungkin, C standard library penulis merancang mekanisme itu, tergantung pada konstanta preprocessor, transparan mendefinisi ulang fungsi untuk 64-bit file besar yang sadar. * Banyak interface tua, terutama yang berbasis C, jenis argumen secara eksplisit ditentukan dengan cara yang tidak memungkinkan transisi mudah atau transparan untuk 64-bit jenis. Sebagai contoh, C fungsi fseek dan ftell beroperasi pada posisi file int tipe lama, yang biasanya 32 bit lebar pada 32-bit arsitektur, dan tidak dapat dibuat lebih besar tanpa mengorbankan kompatibilitas. (Ini dipecahkan dengan memperkenalkan fungsi baru fseeko dan ftello Pada mesin Windows,. Dibawah Visual C + +, fungsi _fseeki64 dan _ftelli64 digunakan.) * Upaya di atas terlepas, semua aplikasi harus dikompilasi ulang untuk membuat mereka LFSsadar. Binari yang dihasilkan biasanya tidak Runnable pada rilis lama dari sistem operasi yang sama. Ini, dan sampai batas tertentu masih tetap, masalah bagi beberapa vendor aplikas Bandwidth throttling Throttling bandwidth adalah ukuran reaktif digunakan dalam jaringan komunikasi untuk mengatur lalu lintas jaringan dan meminimalkan kemacetan bandwidth. Throttling bandwidth dapat terjadi di lokasi yang berbeda pada jaringan. Pada jaringan area lokal (LAN), administrator web dapat menggunakan bandwidth throttling untuk membantu membatasi kemacetan jaringan dan server crash. Pada tingkat yang lebih luas, Internet Service Provider dapat menggunakan bandwidth throttling untuk membantu mengurangi penggunaan pengguna bandwidth yang dipasok ke jaringan lokal. Ini dapat digunakan untuk secara aktif batas upload pengguna dan download harga pada program seperti protokol BitTorrent dan aplikasi file sharing lainnya, serta bahkan keluar penggunaan bandwidth total yang ditawarkan di semua pengguna di jaringan. Throttling bandwidth juga sering digunakan dalam aplikasi Internet, untuk menyebarkan beban melalui jaringan yang lebih luas untuk mengurangi kemacetan jaringan lokal, atau melalui jumlah server untuk menghindari overloading yang individu, dan mengurangi risiko crashing operasi Sebuah jaringan komputer biasanya terdiri dari sejumlah server, dimana data host dan memberikan layanan kepada klien. Internet adalah contoh yang baik, di mana server web yang digunakan untuk host situs web, menyediakan informasi untuk sejumlah potensi yang sangat besar komputer klien. Klien akan membuat permintaan ke server, yang akan merespon dengan mengirimkan data yang dibutuhkan. Karena biasanya akan ada banyak klien per server, pengolahan data permintaan pada server umumnya akan jauh lebih besar dari pada klien individu. Dan server biasanya diimplementasikan menggunakan komputer dengan kapasitas data yang tinggi dan kekuatan

prosesor. Lalu lintas di jaringan tersebut akan bervariasi dari waktu ke waktu, dan akan ada periode ketika permintaan klien akan puncak, kadang-kadang melebihi kapasitas bagian dari jaringan dan menyebabkan kemacetan, terutama di bagian jaringan yang membentuk kemacetan. Hal ini dapat menyebabkan kegagalan data permintaan, atau dalam kasus-kasus terburuk, server crash. Untuk mencegah kejadian seperti itu, administrator server dapat menerapkan bandwidth throttling untuk mengendalikan jumlah permintaan server merespon dalam jangka waktu tertentu. Ketika server menggunakan bandwidth throttling mencapai batas yang ditentukan, akan offload permintaan baru dan tidak menanggapi mereka. Kadang-kadang mereka dapat ditambahkan ke antrian untuk diproses setelah penggunaan bandwidth mencapai tingkat yang dapat diterima, tetapi pada saat puncak tingkat permintaan bahkan bisa melebihi kapasitas antrian tersebut dan permintaan harus dibuang.

aplikasi Sebuah perangkat bandwidth intensif, seperti server, mungkin membatasi, atau throttle, tingkat di mana ia menerima data, untuk menghindari kelebihan kapasitas pengolahannya. Hal ini dapat dilakukan baik pada server jaringan lokal atau di server ISP. ISP sering menggunakan inspeksi paket yang mendalam (DPI), yang banyak tersedia di router atau disediakan oleh peralatan DPI khusus. Selain itu, peralatan jaringan hari ini memungkinkan ISP untuk mengumpulkan statistik pada ukuran mengalir pada kecepatan baris, yang dapat digunakan untuk menandai arus besar untuk membentuk lalu lintas. [1] Dua, ISP dan Comcast Cox, telah menyatakan bahwa mereka terlibat dalam praktek ini, di mana mereka membatasi bandwidth pengguna hingga 99%. [2] Hari ini kebanyakan jika tidak semua Internet Service Provider throttle bandwidth pengguna mereka, dengan atau tanpa pengguna pernah menyadarinya. [3] Dalam kasus tertentu Comcast, sebuah vendor peralatan yang disebut Sandvine mengembangkan teknologi manajemen jaringan yang mencekik transfer P2P file [4]. Comcast bahkan tidak pencetus teknik "throttling". Mereka yang bisa mencekik bandwidth mereka biasanya seseorang yang terus download dan upload torrents, atau seseorang yang hanya menonton banyak video online. Banyak yang menganggap ini sebagai metode tidak adil mengatur bandwidth karena konsumen tidak mendapatkan bandwidth yang diperlukan bahkan setelah membayar harga yang ditetapkan oleh ISP. Dengan throttling orang-orang yang menggunakan bandwidth banyak, ISP memungkinkan pengguna rutin mereka memiliki kualitas keseluruhan pelayanan yang lebih baik. [5] jaringan Netralitas Jaringan Netralitas merupakan prinsip yang melindungi internet gratis dan terbuka. Netralitas Bersih artinya bahwa penyedia layanan Internet mungkin tidak membedakan antara berbagai jenis konten dan aplikasi online. Ini menjamin tingkat lapangan bermain untuk semua situs Web dan teknologi Internet. Dengan Netralitas Bersih, pekerjaan hanya jaringan adalah untuk memindahkan data - untuk tidak memilih data mana yang akan kehormatan dengan layanan berkualitas tinggi. Prinsip netralitas jaringan melindungi hak konsumen untuk menggunakan

peralatan apapun, konten, aplikasi atau layanan tanpa gangguan dari operator jaringan. Netralitas Bersih adalah alasan internet telah mendorong inovasi ekonomi, partisipasi demokratis dan kebebasan berbicara secara online. Neutr Bersih memastikan bahwa inovator dapat mulai kecil dan impian besar tentang menjadi sang maestro internet berikutnya tanpa menghadapi rintangan dapat diatasi. Penelitian telah menunjukkan ketika biaya transaksi membuat jaringanmetering penggunaan ekonomis, memaksakan pembatasan bandwidth-intensif mungkin meningkatkan kesejahteraan ekonomi dengan volume tinggi mencegah pengguna dari pengenaan biaya terkompensasi onlow volume pengguna [6] [7]. Konsekuensi dari dunia tanpa Net Netralitas bisa menghancurkan. Inovasi akan menahan, persaingan terbatas, dan akses terhadap informasi terbatas. Pilihan konsumen dan pasar bebas akan dikorbankan untuk kepentingan korporasi-korporasi saja. Hilangnya Net Netralitas akan berakhir kesempatan yang tak tertandingi untuk kebebasan berekspresi. Server-side scripting adalah teknologi web server di mana permintaan pengguna diverifikasi dengan menjalankan script langsung pada server web untuk menghasilkan halaman web dinamis. Hal ini biasanya digunakan untuk menyediakan situs web interaktif yang interface untuk database atau data lainnya toko. Hal ini berbeda dari klien-side scripting dimana script dijalankan oleh web browser melihat, biasanya dalam JavaScript. Keuntungan utama ke server-side scripting adalah kemampuan untuk menyesuaikan respon yang sangat didasarkan pada kebutuhan pengguna, hak akses, atau query ke dalam menyimpan data. Dari sudut pandang keamanan, server-side script tidak pernah terlihat ke browser sebagai skrip ini dijalankan pada server dan memancarkan HTML yang sesuai untuk input user ke halaman. Ketika server melayani data dalam cara yang umum digunakan, misalnya sesuai dengan protokol HTTP atau FTP, pengguna mungkin memiliki pilihan mereka dari sejumlah program klien (kebanyakan web browser modern dapat meminta dan menerima data menggunakan baik dari orang protokol). Dalam kasus aplikasi yang lebih khusus, programmer dapat menulis server sendiri, klien, dan protokol komunikasi, yang hanya dapat digunakan dengan satu sama lain. Program yang berjalan pada komputer lokal pengguna tanpa pernah mengirim atau menerima data melalui jaringan tidak dianggap klien, sehingga operasi program tersebut tidak akan dianggap klien-sisi operasi. penjelasan Pada hari-hari awal web, server-side scripting hampir secara eksklusif dilakukan dengan menggunakan kombinasi program C, skrip Perl dan skrip shell menggunakan Common Gateway Interface (CGI). Mereka skrip dieksekusi oleh sistem operasi, mnemonic coding dan hasilnya hanya dilayani kembali oleh server web. Ini dan bahasa scripting on-line lainnya seperti ASP dan PHP sering dapat dieksekusi langsung oleh server web itu sendiri atau oleh modul ekstensi (misalnya mod_perl atau php mod) ke web server. Entah bentuk scripting (yaitu, CGI atau langsung eksekusi) dapat digunakan untuk membangun kompleks multi-halaman situs, tapi eksekusi langsung biasanya menghasilkan overhead yang lebih rendah karena kurangnya panggilan ke penerjemah eksternal

Website dinamis juga kadang-kadang didukung oleh server aplikasi web kustom, misalnya Python "Base HTTP Server" perpustakaan, meskipun beberapa mungkin tidak mempertimbangkan ini menjadi server-side scripting. path terjemahan Web server mampu memetakan jalan komponen dari suatu Uniform Resource Locator (URL) ke: * Sumber daya sistem file lokal (untuk permintaan statis); * Nama program internal atau eksternal (untuk permintaan dinamis). Untuk permintaan statis arah URL ditentukan oleh klien relatif ke direktori root server Web. Perhatikan URL berikut karena akan diminta oleh klien: -http://www.example.com/path/file.html Agen pengguna klien akan menerjemahkannya ke dalam sambungan ke www.example.com dengan permintaan HTTP 1.1 berikut: -GET /path/file.html HTTP/1.1
Host: www.example.com

Web server pada www.example.com akan menambahkan path yang diberikan ke path direktori akar. Pada server Apache, ini adalah umumnya / home / www (Pada mesin Unix, biasanya / var / www). Hasilnya adalah sumber daya sistem file lokal: -/home/www/path/file.html Web server kemudian membaca file tersebut, jika ada dan mengirimkan respon ke browser Web klien. Tanggapan akan menjelaskan isi dari file dan berisi file itu sendiri atau pesan kesalahan akan kembali mengatakan bahwa file tidak ada atau tidak tersedia. load batas Sebuah server Web (program) telah menentukan batas beban, karena hanya dapat menangani sejumlah klien konkuren koneksi (biasanya antara 2 dan 80.000, secara default antara 500 dan 1.000) per alamat IP (dan port TCP) dan dapat hanya melayani sejumlah maksimum permintaan per detik, tergantung pada: * Pengaturan sendiri; * Jenis permintaan HTTP; * Konten asal (statis atau dinamis); * Fakta bahwa konten dilayani atau tidak cache; * Perangkat keras dan keterbatasan perangkat lunak dari OS mana ia bekerja; Ketika Web server yang dekat atau di atas batas, itu menjadi tidak responsif.

Kernel-mode dan pengguna-mode Web server Sebuah server Web dapat berupa diimplementasikan ke dalam kernel OS, atau di ruang pengguna (seperti aplikasi biasa lainnya).

In-kernel Web server (seperti tux pada GNU / Linux atau Microsoft IIS pada Windows) biasanya akan bekerja lebih cepat, karena, sebagai bagian dari sistem, dapat langsung menggunakan semua sumber daya perangkat keras yang dibutuhkan, seperti non-paged memori, CPU time-iris, adapter jaringan, atau buffer. Web server yang berjalan di user-mode harus meminta sistem izin untuk menggunakan lebih banyak memori atau sumber daya CPU yang lebih. Tidak hanya permintaan tersebut ke kernel memakan waktu, tetapi mereka tidak selalu puas karena sistem cadangan sumber daya untuk penggunaan sendiri dan memiliki tanggung jawab untuk berbagi sumber daya perangkat keras dengan semua aplikasi yang sedang berjalan lainnya. Juga, aplikasi tidak dapat mengakses buffer internal sistem, yang menyebabkan buffer salinan berguna yang menciptakan cacat lain untuk pengguna-mode web server. Sebagai konsekuensinya, satu-satunya cara untuk web server pengguna-mode untuk menyesuaikan mode kernel kinerja adalah untuk meningkatkan kualitas kode untuk standar jauh lebih tinggi, mirip dengan kode yang digunakan dalam web server yang berjalan di kernel. Ini adalah masalah yang signifikan di bawah Windows, di mana overhead pengguna-mode adalah sekitar enam kali lebih besar daripada di Linux. [2] [Sunting] Penyebab Overload Pada saat server web dapat kelebihan beban karena: * Terlalu banyak lalu lintas web yang sah. Ribuan atau bahkan jutaan klien menghubungkan ke situs web dalam interval pendek, misalnya, efek Slashdot; * Terdistribusi serangan Denial of Service; * Komputer cacing yang kadang-kadang menyebabkan lalu lintas normal karena jutaan komputer yang terinfeksi (tidak terkoordinir di antara mereka); * XSS virus dapat menyebabkan lalu lintas tinggi karena jutaan terinfeksi browser dan / atau Web server; * Internet bots. Lalu lintas tidak disaring / terbatas pada situs web yang besar dengan sumber daya yang sangat sedikit (bandwith, dll); * Internet (jaringan) slowdowns, sehingga permintaan klien dilayani lebih lambat dan jumlah sambungan meningkat sehingga mencapai batas server; * Web server (komputer) tidak tersedianya parsial. Hal ini dapat terjadi karena pemeliharaan yang dibutuhkan atau mendesak atau upgrade, perangkat keras atau perangkat lunak kegagalan, back-end (misalnya, database) kegagalan, dll, dalam kasus ini server web yang tersisa terlalu banyak mendapatkan lalu lintas dan menjadi kelebihan beban. [Sunting] Overload gejala Gejala-gejala kelebihan beban server web adalah: * Permintaan dilayani dengan (mungkin panjang) penundaan (dari 1 detik untuk beberapa ratus detik); * 500, 502, 503, 504 kesalahan HTTP yang dikembalikan ke klien (kadang-kadang juga tidak

terkait kesalahan 404 atau bahkan 408 kesalahan dapat dikembalikan); * Koneksi TCP yang menolak atau mengatur ulang (terputus) sebelum konten dikirim kepada klien; * Dalam kasus yang sangat jarang terjadi, hanya isinya parsial dikirim (tetapi perilaku ini juga dapat dianggap bug, bahkan jika itu biasanya tergantung pada sumber daya sistem tidak tersedia). [Sunting] Anti-teknik yang berlebihan Untuk mengatasi sebagian di atas batas beban dan untuk mencegah overload, situs Web yang paling populer menggunakan teknik-teknik umum seperti: * Mengelola lalu lintas jaringan, dengan menggunakan: o Firewall untuk memblokir lalu lintas yang tidak diinginkan yang berasal dari sumber IP yang buruk atau memiliki pola yang buruk; o HTTP manajer lalu lintas untuk menjatuhkan, mengarahkan atau menulis ulang permintaan memiliki pola HTTP buruk; o Bandwidth manajemen dan traffic shaping, dalam rangka untuk merapikan puncak dalam penggunaan jaringan; * Penggelaran Web teknik cache; * Menggunakan nama domain yang berbeda untuk melayani berbeda (statis dan dinamis) konten oleh server Web yang terpisah, yaitu: o http://images.example.com o http://www.example.com * Menggunakan nama domain yang berbeda dan / atau komputer untuk memisahkan file-file besar dari file berukuran kecil dan menengah; idenya adalah untuk dapat sepenuhnya cache file berukuran kecil dan menengah dan efisien melayani besar atau sangat besar (lebih dari 10 - 1000 MB) file menurut menggunakan pengaturan yang berbeda; * Menggunakan banyak Web server (program) per komputer, masing-masing terikat untuk kartu jaringan sendiri dan alamat IP; * Menggunakan banyak Web server (komputer) yang dikelompokkan bersama sehingga mereka bertindak atau dilihat sebagai satu server Web yang besar (lihat juga Load penyeimbang); * Menambahkan lebih banyak sumber daya perangkat keras (yaitu RAM, disk) untuk setiap komputer; * Tuning OS parameter untuk kemampuan hardware dan penggunaan; * Menggunakan lebih program komputer yang efisien untuk Web server, dll; * Menggunakan workarounds lain, terutama jika konten dinamis yang terlibat.

You might also like