Proyek ini merupakan tugas akhir mata kuliah Sistem Operasi pada semester 3 Teknik Informatika di Politeknik Negeri Bandung. Pembuatan Web Server bertujuan untuk mendemonstrasikan hal-hal yang telah dipelajari selama perkuliahan. Di antaranya adalah system call terkait proses seperti fork.
Proyek ini merupakan implementasi komunikasi antara server dan client menggunakan socket programming. Server berfungsi untuk menerima permintaan HTTP dari klien (metode GET dan POST) dan meresponsnya sesuai dengan data yang dikirimkan. Client menggunakan file HTML dan JavaScript untuk berkomunikasi dengan server melalui HTTP. Selain itu, proyek ini juga bertujuan untuk mendemonstrasikan penggunaan system call pada Linux. Dengan system call ini, proses baru akan dibuat untuk request yang datang. Kemudian, proses tersebut akan keluar setelah selesai menangani request.
- Muhammad Rafif Genadratama
- Nadia Rachma Yuninda
- Metode GET:
Client dapat meminta fail
client.htmldari server. Fail ini akan dikirimkan secara langsung oleh server ke klien. - Metode POST:
- Klien dapat mengirimkan username untuk melakukan registrasi ke server.
- Klien dapat mengirimkan pesan setelah username terdaftar.
- Server akan merespons dengan pesan yang sesuai.
-
Server:
- Server mendengarkan koneksi pada port
8080. - Permintaan GET akan memberikan file
client.html. - Permintaan POST akan diproses untuk mendapatkan data seperti username dan pesan.
- Server mendengarkan koneksi pada port
-
Client (client.html):
- Client memiliki interface HTML sederhana untuk mengirimkan username dan pesan ke server.
- Data dikirimkan ke server menggunakan metode POST.
- Sistem operasi Linux atau Windows (dengan dukungan socket programming).
- Compiler C (misalnya
gccuntuk Linux). - Browser modern untuk membuka file
client.html.
-
Menjalankan Server:
- Kompilasi server menggunakan perintah berikut:
gcc server.c -o server
- Jalankan server:
./server
- Kompilasi server menggunakan perintah berikut:
-
Menjalankan Klien:
- Buka file
client.htmldi browser Anda. - Masukkan username, klik "Hubungkan", lalu kirim pesan menggunakan tombol "Kirim".
- Buka file
server.c: File kode server.client.html: File HTML dan JavaScript untuk klien.
-
Koneksi Awal:
- Klien mengirimkan username melalui POST.
- Server merespons dengan pesan selamat datang:
Selamat datang, [username]!
-
Mengirim Pesan:
- Klien mengirimkan pesan melalui POST.
- Server merespons dengan pesan balasan:
Server: saya sudah mendapat pesan anda, [username]. Berikut adalah pesan anda: [pesan].
- Server hanya mendukung permintaan dengan metode GET dan POST.
- File
client.htmlharus berada di direktori yang sama dengan file eksekusi server agar dapat ditemukan.
- Jawaban user3820950 pada StackOverflow
- Format dari HTTP message