Apa yang Anda ketahui tentang Web Server?


Server web atau peladen web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas.
Apa yang Anda ketahui tentang Web Server ?

“Server web” dapat merujuk ke perangkat keras atau perangkat lunak, atau keduanya bekerja bersama. Di sisi perangkat keras, server web adalah komputer yang menyimpan perangkat lunak server web dan file komponen situs web (mis. Dokumen HTML, gambar, stylesheet CSS, dan file JavaScript). Terhubung ke Internet dan mendukung pertukaran data fisik dengan perangkat lain yang terhubung ke web. Di sisi perangkat lunak, server web mencakup beberapa bagian yang mengontrol cara pengguna web mengakses file yang di-host, minimal server HTTP. Server HTTP adalah perangkat lunak yang memahami URL (alamat web) dan HTTP (protokol yang digunakan browser Anda untuk melihat halaman web). Itu dapat diakses melalui nama domain (seperti mozilla.org) dari situs web yang disimpannya, dan mengirimkan kontennya ke perangkat pengguna akhir. Pada tingkat paling dasar, setiap kali browser membutuhkan file yang di-host di server web, browser meminta file melalui HTTP. Ketika permintaan mencapai server web (perangkat keras) yang benar, server HTTP (perangkat lunak) menerima permintaan, menemukan dokumen yang diminta (jika tidak maka respons 404 dikembalikan), dan mengirimkannya kembali ke browser, juga melalui HTTP .

Untuk menerbitkan situs web, Anda memerlukan server web statis atau dinamis.

Server web statis, atau tumpukan, terdiri dari komputer (perangkat keras) dengan server HTTP (perangkat lunak). Kami menyebutnya “statis” karena server mengirim file yang dihosting “apa adanya” ke browser Anda.

Server web dinamis terdiri dari server web statis plus perangkat lunak tambahan, paling umum server aplikasi dan database. Kami menyebutnya “dinamis” karena server aplikasi memperbarui file yang di-host sebelum mengirimnya ke browser Anda melalui server HTTP.

Misalnya, untuk menghasilkan halaman web terakhir yang Anda lihat di browser, server aplikasi mungkin mengisi templat HTML dengan konten dari database. Situs seperti MDN atau Wikipedia memiliki ribuan halaman web, tetapi mereka bukan dokumen HTML asli, hanya beberapa templat HTML dan database raksasa. Pengaturan ini membuatnya lebih mudah dan lebih cepat untuk memelihara dan mengirimkan konten.

image

Untuk mengambil halaman web, seperti yang sudah kami katakan, browser Anda mengirim permintaan ke server web, yang dilanjutkan untuk mencari file yang diminta di ruang penyimpanannya sendiri. Saat menemukan file, server membacanya, memprosesnya sesuai kebutuhan, dan mengirimkannya ke browser. Mari kita lihat langkah-langkah itu lebih terinci.

File hosting
Server web pertama-tama harus menyimpan file situs web, yaitu semua dokumen HTML dan aset terkait, termasuk gambar, lembar gaya CSS, file JavaScript, font, dan video.

Secara teknis, Anda dapat meng-host semua file di komputer Anda sendiri, tetapi jauh lebih mudah untuk menyimpannya semua di server web khusus yang selalu aktif dan berjalan
selalu terhubung ke Internet memiliki alamat IP yang sama sepanjang waktu (tidak semua ISP memberikan alamat IP tetap untuk saluran rumah) dikelola oleh penyedia pihak ketiga
Untuk semua alasan ini, menemukan penyedia hosting yang baik adalah bagian penting dari membangun situs web Anda. Gali berbagai layanan yang ditawarkan perusahaan dan pilih satu yang sesuai dengan kebutuhan dan anggaran Anda (layanan berkisar dari gratis hingga ribuan dolar per bulan). Anda dapat menemukan rincian lebih lanjut di artikel ini.

Setelah Anda menyiapkan solusi hosting web, Anda hanya perlu mengunggah file ke server web Anda.

Berkomunikasi melalui HTTP
Kedua, server web menyediakan dukungan untuk HTTP (Hypertext Transfer Protocol). Sesuai namanya, HTTP menentukan cara mentransfer hypertext (mis., Dokumen web tertaut) antara dua komputer.

Protokol adalah seperangkat aturan untuk komunikasi antara dua komputer. HTTP adalah protokol tekstual, stateless.

Semua perintah adalah teks biasa dan dapat dibaca manusia. Baik server maupun klien tidak ingat komunikasi sebelumnya. Misalnya, dengan mengandalkan HTTP saja, server tidak dapat mengingat kata sandi yang Anda ketikkan atau langkah apa yang Anda lakukan dalam transaksi. Anda memerlukan server aplikasi untuk tugas-tugas seperti itu. (Kami akan membahas teknologi semacam itu di artikel selanjutnya.)
HTTP memberikan aturan yang jelas untuk bagaimana klien dan server berkomunikasi. Kami akan membahas HTTP itu sendiri dalam artikel teknis nanti. Untuk saat ini, perhatikan saja hal-hal ini:

Hanya klien yang dapat membuat permintaan HTTP, dan kemudian hanya ke server. Server hanya dapat menanggapi permintaan HTTP klien.
Saat meminta file melalui HTTP, klien harus memberikan URL file.
Server web harus menjawab setiap permintaan HTTP, setidaknya dengan pesan kesalahan.
Halaman MDN 404 sebagai contoh halaman kesalahan tersebut Di server web, server HTTP bertanggung jawab untuk memproses dan menjawab permintaan yang masuk.

Saat menerima permintaan, server HTTP terlebih dahulu memeriksa apakah URL yang diminta cocok dengan file yang ada. Jika demikian, server web mengirim konten file kembali ke browser. Jika tidak, server aplikasi membuat file yang diperlukan. Jika tidak ada proses yang mungkin, server web mengembalikan pesan kesalahan ke browser, paling umum 404 Tidak Ditemukan. (Kesalahan itu sangat umum sehingga banyak perancang web menghabiskan waktu merancang 404 halaman kesalahan).

Konten statis vs dinamis
Secara kasar, server dapat menyajikan konten statis atau dinamis. “Statis” berarti “dilayani apa adanya”. Situs web statis adalah yang paling mudah dibuat, jadi kami sarankan Anda menjadikan situs pertama Anda sebagai situs statis.

“Dinamis” berarti server memproses konten atau bahkan membuatnya dengan cepat dari database. Solusi ini memberikan lebih banyak fleksibilitas, tetapi tumpukan teknis menjadi lebih sulit untuk ditangani, membuatnya secara dramatis lebih kompleks untuk membangun situs web.

Ambil contoh halaman yang sedang Anda baca sekarang. Di server web hostingnya, ada server aplikasi yang mengambil konten artikel dari database, memformatnya, memasukkannya ke dalam beberapa templat HTML, dan mengirimkan hasilnya kepada Anda. Dalam hal ini, server aplikasi disebut Kuma dan dibangun dengan Python (menggunakan kerangka Django). Tim Mozilla membangun Kuma untuk kebutuhan spesifik MDN, tetapi ada banyak aplikasi serupa yang dibangun pada banyak teknologi lainnya.

Ada begitu banyak server aplikasi sehingga cukup sulit untuk menyarankan yang khusus. Beberapa server aplikasi memenuhi kategori situs web tertentu seperti blog, wiki, atau toko elektronik; yang lain, yang disebut CMS (sistem manajemen konten), lebih umum. Jika Anda membangun situs web yang dinamis, luangkan waktu untuk memilih alat yang sesuai dengan kebutuhan Anda. Kecuali jika Anda ingin mempelajari beberapa pemrograman server web (yang merupakan area yang menarik!), Anda tidak perlu membuat server aplikasi Anda sendiri. Itu hanya menciptakan kembali roda.

Sumber

What is a web server? - Learn web development | MDN