Last Updated on November 16, 2021 by
Python masih menjadi bahasa pemrograman yang banyak dipakai dan dipelajari oleh para developer. Dengan bahasa pemrograman Python, Anda bisa melakukan berbagai hal seperti pengembangan backend, scientific modelling, machine learning, sistem operasi, dan menciptakan perangkat lunak khusus untuk perusahaan tertentu. Sekarang, Python juga bisa dipakai untuk membuat web server.
Python web server umumnya digunakan untuk kebutuhan periklanan. Namun bukan itu saja. Python Web Server memiliki berbagai fungsi lainnya yang akan dibahas lebih jauh lagi dalam artikel ini. Python adalah bahasa pemrograman yang mudah dipelajari, memiliki sifat dynamically typed. Oleh karena itu pembuatan web server ini pun cenderung mudah.
Table of Contents
Apa itu Web Server Python?
Dalam infrastruktur internet, server merupakan salah satu bagian dari model client-server. Ketika browser klien mengunjungi halaman web. Server web ini pun membuat permintaan HTTP ke server yang berisi file yang diperlukan untuk mengoperasikan situs web.
Server berfungsi untuk mendengarkan permintaan klien, memprosesnya dan merespons dengan file yang diperlukan untuk menampilkan halaman web. Konten ini bisa berupa HTML (teks dan media yang Anda lihat di situs web) dan JSON.
Anda mungkin menemukan beberapa kode kesalahan server saat Anda menjelajahi internet “file not found” atau 404 menjadi yang lebih populer. Dalam kasus ini, server mengalami kesulitan mengakses file tertentu. Dengan kesalahan 404, file tertentu hilang.
Ada lebih banyak nuansa untuk server web, termasuk klasifikasi menjadi server web statis dan dinamis. Misalnya, server web statis hanya mengembalikan file apa adanya, tanpa pemrosesan tambahan. Server web dinamis memperkenalkan database dan server aplikasi yang dapat Anda lanjutkan setelah Anda memahami server statis.
Fungsi Web Server
Anda mungkin bertanya-tanya, apa sebenarnya fungsi web server? Mengapa developer website harus memahami tentang web server? Kita akan mengupas tuntas di sini. Tugas utama dari server web adalah yaitu menampilkan konten situs web dengan menyimpan, memproses, dan mengirim halaman web kepada pengguna.
Ada beberapa fungsi web server lainnya yang perlu Anda ketahui. Berikut ini adalah fungsi web server:
1. Menyimpan dan mengamankan data situs web
Server web, dalam layanan hosting web, menyimpan semua data situs web dan mengamankannya dari pengguna yang tidak sah ketika dikonfigurasi dengan benar.
2. Menyediakan akses database web
Tanggung jawab server web adalah menyediakan akses ke situs web yang dihosting. Penyedia layanan hosting web memiliki beberapa server web yang digunakan dalam berbagai cara untuk menyediakan layanan hosting web yang berbeda, seperti server basis data backend.
3. Melayani permintaan pengguna akhir
Server web menerima permintaan dari berbagai pengguna yang terhubung melalui internet dan melayaninya sesuai dengan itu.
-
Kontrol bandwidth untuk mengatur lalu lintas jaringan
Pengontrol bandwidth ini adalah fitur yang ada di dalam server web dan berguna untuk meminimalkan lalu lintas jaringan yang berlebihan. Web Host dapat mengatur nilai bandwidth untuk mengatur kecepatan transmisi data melalui internet. Fitur ini dipakai untuk menghindari stopped time yang dikarenakan oleh lalu lintas web yang tinggi.
5. Hosting virtual
Virtual Hosting adalah jenis layanan web hosting di mana server web digunakan untuk menghosting situs web server web virtual berbasis perangkat lunak lain, data, aplikasi, dan layanan lainnya. Server Web tervirtualisasi memiliki fitur ini untuk menyediakan hosting virtual.
6. Skrip web sisi server :
Fitur server web ini memungkinkan pengguna untuk membuat halaman web dinamis. Bahasa skrip sisi server yang populer termasuk Perl, Ruby, Python, PHPandASP, dan lain sebagainya.
Setelah mengetahui tentang web server, selanjutnya kita akan membahas tentang Python Web Server. Pada artikel ini kita akan membahas tentang cara membuat web server dalam bahasa pemrograman Python.
Cara Membuat Python Web Server dengan Mudah
Meluncurkan server web Python cepat dan mudah, dan Anda hanya perlu beberapa menit untuk bangun dan menjalankannya. Yang diperlukan hanyalah satu baris kode untuk menjalankan server lokal paling sederhana di komputer Anda.
Dengan pengujian lokal, sistem Anda menjadi server untuk klien yang merupakan browser Anda, dan file disimpan secara lokal di sistem Anda. Modul yang akan Anda gunakan untuk membuat server web adalah server http Python. Ada satu peringatan untuk ini: web server Python hanya dapat digunakan sebagai server file statis. Anda memerlukan kerangka kerja web Python, seperti Django, untuk menjalankan server web dinamis.
Contoh kodenya adalah sebagai berikut :
python -m http.server
Ketik kode tersebut ke terminal atau command prompt. Ini tergantung pada sistem yang Anda pakai. Anda pun akan melihat pesan “server started” dan “server stopped” ketika Anda menutup server.
Begitulah cara mudah membuat Python web server. Cara ini memang sangat sederhana karena tidak lebih dari membuka server web pada port default sistem Anda 8000. Port juga dapat diubah dengan menentukan nomor port di akhir baris, seperti ini :
python -m http.server 8080
Server web sederhana seperti yang baru dibuat akan baik-baik saja dan bekerja tanpa masalah. Namun, jauh lebih menarik dan mendidik untuk membuat server web khusus. Bagaimanapun, cara terbaik untuk mempelajari python adalah melalui pendekatan langsung seperti code, debug, fix, rinse, dan repeat.
Membuat Custom Python Web Server
Server web khusus yang bisa dikustomisasi memungkinkan Anda melakukan lebih dari sekadar server web bawaan. Kode di bawah ini akan mengajari Anda banyak tentang beberapa fungsi dan proses penting. Jangan terkecoh dengan panjangnya kode hanya ada beberapa konsep kunci yang dimainkan di sini. Anda tidak perlu mengetik semua ini secara manual untuk mengujinya sendiri. Akan tetapi perlu Anda perhatikan pentingnya konsep tersebut.
dari BaseHTTPRequestHandler, http.server impor HTTPServer, #Python’s built-in library.
import time hostName = "localhost" serverPort = 8080 #You can choose any available port; by default, it is 8000 Class MyServer(BaseHTTPRequestHandler): def do_GET(self): //the do_GET method is inherited from BaseHTTPRequestHandler self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() self.wfile.write(bytes("<html><head><title>https://testserver.com</title></head>", "utf-8")) self.wfile.write(bytes("<p>Request: %s</p>" % self.path, "utf-8")) self.wfile.write(bytes("<body>", "utf-8")) self.wfile.write(bytes("<p>This is an example web server.</p>", "utf-8")) self.wfile.write(bytes("</body></html>", "utf-8")) if __name__ == "__main__": webServer = HTTPServer((hostName, serverPort), MyServer) print("Server started http://%s:%s" % (hostName, serverPort)) #Server starts try: webServer.serve_forever() except KeyboardInterrupt: pass webServer.server_close() #Executes when you hit a keyboard interrupt, closing the server
Sebelum kita melompat ke bagian penting, kita pun akan membahas beberapa hal dengan cepat. Jika Anda telah menyelesaikan pekerjaan rumah HTML, maka Anda akan melihat beberapa istilah yang sudah dikenal dalam kode. Kelas MyServer menulis ke aliran keluaran (wfile) yang dikirim sebagai respons ke klien menggunakan “self.wfile.write()”. Apa yang kami lakukan di sini adalah menulis halaman HTML dasar dengan cepat.
Kami akan membahas beberapa eksekusi penting yang terjadi di Python Web Server ini, yaitu:
- Modul http.server
- Kelas HTTPServer dan BaseHTTPRequestHandler, berasal dari perpustakaan http.server
- Metode do_GET
Server HTTP adalah modul standar dalam pustaka Python yang memiliki kelas-kelas yang digunakan dalam komunikasi client-server. Kedua kelas tersebut adalah HTTPServer dan BaseHTTPRequestHandler. Yang terakhir mengakses server melalui yang pertama. HTTPServer menyimpan alamat server sebagai variabel instan, sementara BaseHTTPRequestHandler memanggil metode untuk menangani permintaan.
Singkatnya, kode dimulai pada fungsi utama. Selanjutnya, kelas MyServer dipanggil, dan BaseHTTPRequestHandler memanggil metode do_GET() untuk memenuhi permintaan. Saat Anda menginterupsi program, server ditutup.
Mengapa kita harus menggunakan server web khusus? Python Web Server khusus ini memungkinkan Anda menggunakan lebih banyak metode, seperti do_HEAD() dan do_POST(), yang menawarkan fungsionalitas tambahan. Bagaimanapun, Anda dapat melihat bahwa membuat server web khusus juga cukup mudah.
Tidak perlu banyak waktu untuk menjalankan server web Anda menggunakan Python. Ini adalah ide mendasar yang harus Anda serap. Membuat server Anda adalah langkah maju yang kecil namun signifikan di jalur Anda untuk membuat aplikasi tumpukan penuh.
Coba kodenya sendiri, dan bahkan apabila memungkinkan, Anda bisa cari proyek Python yang menggabungkan implementasi server. Ada banyak proyek yang tersedia yang menggunakan konsep ini, jadi ada baiknya mengetahui bagaimana menerapkannya dalam konteks yang lebih luas.
Itulah penjelasan tentang Python Web Server yang bisa Anda pelajari dan terapkan pada website Anda yang berbasis Python. Cara ini cenderung sederhana dan mudah untuk dilakukan, sehingga bagi Anda developer pemula tidak akan kesulitan melakukannya.
Jika tertarik untuk update informasi terbaru seputar teknologi website dan pemrograman website, jangan lupa nyalakan notifikasi dari situs Web App di https://appkey.id/ atau Anda bisa download aplikasi Web App di Google Play Store agae Anda tidak ketinggalan informasi terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.