Pada artikel ini, kami menjelaskan apa itu server web, cara kerja server web, dan mengapa itu penting.
Istilah web server dapat merujuk pada perangkat keras atau perangkat lunak, atau keduanya bekerja sama.
- Di sisi perangkat keras, server web adalah komputer yang menyimpan perangkat lunak server web dan file komponen situs web (misalnya, dokumen HTML, gambar, lembar gaya CSS, dan file JavaScript). Server web 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 dihosting. Minimal, ini adalah server HTTP . Server HTTP adalah perangkat lunak yang memahami URL (alamat web) dan HTTP (protokol yang digunakan browser Anda untuk melihat halaman web). Server HTTP dapat diakses melalui nama domain situs web yang disimpannya, dan mengirimkan konten situs web yang dihosting ke perangkat pengguna akhir.
Pada tingkat paling dasar, setiap kali browser membutuhkan file yang dihosting di server web, browser meminta file tersebut melalui HTTP. Ketika permintaan mencapai server web (perangkat keras) yang benar, server HTTP (perangkat lunak) menerima permintaan tersebut, menemukan dokumen yang diminta, dan mengirimkannya kembali ke browser, juga melalui HTTP. (Jika server tidak menemukan dokumen yang diminta, server akan mengembalikan respons 404. )
Untuk mempublikasikan 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 mengirimkan file yang dihosting apa adanya ke browser Anda.
Server web dinamis terdiri dari server web statis ditambah perangkat lunak tambahan, yang paling umum adalah server aplikasi dan database . Kami menyebutnya “dinamis” karena server aplikasi memperbarui file yang dihosting sebelum mengirimkan konten ke browser Anda melalui server HTTP.
Misalnya, untuk menghasilkan halaman web akhir yang Anda lihat di browser, server aplikasi mungkin mengisi template HTML dengan konten dari database. Situs seperti MDN atau Wikipedia memiliki ribuan halaman web. Biasanya, situs semacam ini hanya terdiri dari beberapa templat HTML dan database raksasa, bukan ribuan dokumen HTML statis. Penyiapan ini memudahkan pemeliharaan dan penyampaian konten.
Untuk meninjau: untuk mengambil halaman web, browser Anda mengirimkan permintaan ke server web, yang mencari file yang diminta di ruang penyimpanannya sendiri. Setelah menemukan file tersebut, server membacanya, memprosesnya sesuai kebutuhan, dan mengirimkannya ke browser. Mari kita lihat langkah-langkah tersebut lebih detail.
File hosting
Pertama, server web harus menyimpan file situs web, yaitu semua dokumen HTML dan aset terkaitnya, termasuk gambar, lembar gaya CSS, file JavaScript, font, dan video.
Secara teknis, Anda dapat meng-host semua file tersebut di komputer Anda sendiri, namun jauh lebih nyaman untuk menyimpan semua file di server web khusus karena:
- Server web khusus biasanya lebih tersedia (aktif dan berjalan).
- Tidak termasuk downtime dan masalah sistem, server web khusus selalu terhubung ke Internet.
- Server web khusus dapat memiliki alamat IP yang sama sepanjang waktu. Ini dikenal sebagai alamat IP khusus . (Tidak semua ISP menyediakan alamat IP tetap untuk saluran rumah.)
- Server web khusus biasanya dikelola oleh pihak ketiga.
Karena semua alasan ini, menemukan penyedia hosting yang bagus adalah bagian penting dalam membangun situs web Anda. Periksa berbagai layanan yang ditawarkan perusahaan. Pilihlah yang sesuai dengan kebutuhan dan anggaran Anda. (Layanan berkisar dari gratis hingga ribuan dolar per bulan.) Anda dapat menemukan detail lebih lanjut di artikel ini .
Setelah Anda memiliki layanan hosting web, Anda harus mengunggah file Anda ke server web Anda .
Berkomunikasi melalui HTTP
Kedua, server web menyediakan dukungan untuk HTTP ( H yper t ext T ransfer P rotocol). Sesuai dengan namanya, HTTP menentukan cara mentransfer hypertext (dokumen web tertaut) antara dua komputer.
Protokol adalah seperangkat aturan untuk komunikasi antara dua komputer. HTTP adalah protokol tekstual dan tanpa kewarganegaraan.
Tekstual
Semua perintah berbentuk teks biasa dan dapat dibaca manusia.
Tanpa kewarganegaraan
Baik server maupun klien tidak mengingat komunikasi sebelumnya. Misalnya, dengan mengandalkan HTTP saja, server tidak dapat mengingat kata sandi yang Anda ketikkan atau mengingat kemajuan Anda dalam transaksi yang belum selesai. Anda memerlukan server aplikasi untuk tugas seperti itu. (Kami akan membahas teknologi semacam itu di artikel lain.)
HTTP memberikan aturan yang jelas tentang cara klien dan server berkomunikasi. Kami akan membahas HTTP itu sendiri di artikel teknis nanti. Untuk saat ini, waspadai hal-hal berikut:
- Biasanya hanya klien yang membuat permintaan HTTP, dan hanya ke server . Server merespons permintaan HTTP klien . Server juga dapat mengisi data ke dalam cache klien, sebelum diminta, melalui mekanisme yang disebut server push .
- Saat meminta file melalui HTTP, klien harus memberikan URL file tersebut .
- Server web harus menjawab setiap permintaan HTTP, setidaknya dengan pesan kesalahan.
Di server web, server HTTP bertanggung jawab untuk memproses dan menjawab permintaan masuk.
- Setelah menerima permintaan, server HTTP memeriksa apakah URL yang diminta cocok dengan file yang ada.
- Jika demikian, server web mengirimkan konten file kembali ke browser. Jika tidak, server akan memeriksa apakah server harus menghasilkan file secara dinamis untuk permintaan tersebut (lihat Konten statis vs. dinamis ).
- Jika tidak satu pun dari opsi ini memungkinkan, server web akan mengembalikan pesan kesalahan ke browser, paling sering 404 Not Found. Kesalahan 404 sangat umum sehingga beberapa desainer web mencurahkan banyak waktu dan tenaga untuk merancang halaman kesalahan 404.
Konten statis vs. dinamis
Secara kasar, server dapat menyajikan konten statis atau dinamis. Ingatlah bahwa istilah statis berarti “dilayani apa adanya”. Situs web statis adalah yang paling mudah disiapkan, jadi sebaiknya Anda menjadikan situs pertama Anda sebagai situs statis.
Istilah dinamis berarti bahwa server memproses konten atau bahkan menghasilkannya dengan cepat dari database. Pendekatan ini memberikan lebih banyak fleksibilitas, namun tumpukan teknisnya lebih kompleks, sehingga membuat pembuatan situs web jauh lebih sulit.
Tidak mungkin untuk menyarankan satu server aplikasi siap pakai yang akan menjadi solusi tepat untuk setiap kasus penggunaan yang mungkin terjadi. Beberapa server aplikasi dirancang untuk menghosting dan mengelola blog, wiki, atau solusi e-niaga, sementara server lainnya lebih umum. Jika Anda membangun situs web dinamis, luangkan waktu untuk meneliti kebutuhan Anda dan temukan teknologi yang paling sesuai dengan kebutuhan Anda.
Sebagian besar pengembang situs web tidak perlu membuat server aplikasi dari awal, karena ada begitu banyak solusi siap pakai, banyak di antaranya sangat dapat dikonfigurasi. Namun jika Anda memang perlu membuat server sendiri, Anda mungkin ingin menggunakan kerangka kerja server, memanfaatkan kode dan pustaka yang ada, dan hanya memperluas bagian-bagian yang Anda perlukan untuk memenuhi kasus penggunaan Anda. Hanya sejumlah kecil pengembang yang perlu mengembangkan server sepenuhnya dari awal: misalnya, untuk memenuhi keterbatasan sumber daya yang ketat pada sistem tertanam. Jika Anda ingin bereksperimen dengan membangun server, lihat sumber daya di jalur pembelajaran pemrograman situs web sisi server .