Selamat datang di proyek webserv kami untuk 42! README ini memberikan ikhtisar implementasi server HTTP kami, detail konfigurasi, dan cara memulai menggunakan server kami.
Server HTTP adalah perangkat lunak yang dirancang untuk menerima permintaan dari klien dan mengirimkannya tanggapan melalui internet atau jaringan. Biasanya, ini melayani halaman web kepada pengguna sebagai tanggapan atas permintaan yang mencakup metode seperti GET, Post, Delete, dll.
Proyek kami, WebServ, dirancang untuk mensimulasikan perilaku server HTTP nyata tetapi dalam skala yang lebih kecil. Ini dapat menangani beberapa konfigurasi server secara bersamaan hingga batas 1024 server karena pilihan kami menggunakan fungsi select() . Fitur utama dari implementasi kami adalah:
/cgi ./register dan /login . Kami dengan bangga mengumumkan bahwa proyek WebServ kami menerima tanda setinggi mungkin, mencetak 125% pada evaluasi. Ini mencerminkan komitmen kami terhadap kualitas, fungsionalitas, dan kepatuhan terhadap spesifikasi proyek.
Ketahanan server kami diuji menggunakan penguji stres pengepungan. Setelah beberapa sesi pengujian yang diperpanjang, WebServ menunjukkan keandalan yang sangat baik, mempertahankan tingkat keberhasilan 100% di seluruh tes. Ini menunjukkan kemampuan server kami untuk menangani beban tinggi dan mempertahankan kinerja di bawah tekanan.
Konfigurasi server kami dirinci dalam file terpisah. Di bawah ini adalah contoh konfigurasi untuk server kami:
server :
server_name : example
port : 1234
host : 127.0.0.1
max_body_size : 23854644
root : example_website_path
default_file : index.html
error_page :
403 : /error_webpages/403.html
404 : /error_webpages/404.html
405 : /error_webpages/405.html
413 : /error_webpages/413.html
501 : /error_webpages/501.html
location :
path : /
methods : GET, POST
redirect : /index.html
# Multiple server blocks can be configured similarly Untuk mulai menggunakan WebServ, ikuti langkah -langkah ini:
git clone https://github.com/rphlr/42-webserv [nameOfFolder]make./webserv [configuration-file-path]make run Untuk tujuan pengujian dengan curl , Anda dapat menggunakan perintah berikut:
curl -X POST " file=@/Path/to/File " http://localhost:port/cgi ? upload=truecurl -X GET http://localhost:port/cgi ? file=/path/to/filecurl -X DELETE http://localhost:port/default_webpages ? file=FileToDeleteJangan ragu untuk berkontribusi pada proyek dengan mengirimkan permintaan tarik atau dengan melaporkan bug.
Terima kasih telah memeriksa proyek WebServ kami! Kami berharap ini berfungsi sebagai basis yang solid untuk belajar lebih banyak tentang cara kerja dalam server HTTP.