- Disclaimer!
+ On this github only the project is final
! Project research, documentation and other supporting documents are work in progress
! -> readme.md and dir _readme_files
42_webserv
Server HTTP sederhana yang dibuat dari deskripsi awal proyek
Fitur webserv ini
- Pemrograman Soket: Komunikasi Server-Klien Dasar (menggunakan <sys/socket.h> lib)
- Pemrograman Soket: Multiplexing IO dengan Epoll Suite, Soket tidak memblokir
- Arsitektur Server Web: Berdasarkan Arsitektur Nginx (Proses Pekerja) -> Struktur Data Server, Struktur Data Konfigurasi
- Arsitektur server web: Satu pekerja (satu proses) menangani semua koneksi menggunakan Epoll,
- File Konfigurasi: Terinspirasi oleh File Konfigurasi Nginx, lihat detail untuk arahan di bawah ini
- Arahan Konfigurasi: Lihat "./_webserv/configuration_files/readme.md"
- HTTP Protocol: 1.1
- Metode HTTP: Dapatkan, posting, hapus
- Pengalihan http
- Kode kesalahan http: lihat "./webserv_dictionnary.md"
- Unggah file:
- Unduh File:
- Tipe data ditangani: polos/teks, biner
- Pengkodean yang dikalahkan
- Konten dinamis ditangani dengan skrip CGI, CGI dalam Python dan Perl
- Pengatur waktu diatur ke default 60 detik
- Skrip HTML, CSS
- Menggunakan Objek Stream alih -alih Deskriptor File Untuk sebagian besar operasi baca/tulis kecuali untuk soket
- Manajemen kesalahan, kebocoran, pengepungan
Host, Listen, Server_Name, Lokasi, Metode, Root, Indeks, AutoIndex, Body_Size, Error_Page, Return, Exec_cgi, Extension_CGI)
Konten github ini
_webserv
Folder ini berisi versi akhir dan lengkap dari webser kami, didorong dan divalidasi 18/07/23.
./webserv_*
Kami bertujuan untuk menyelesaikan dokumen -dokumen berikut dalam beberapa minggu mendatang, saat ini mereka masih bekerja dalam proses:
- ./webserv_dictionnary.md
- ./webserv_research.pdf
- ./webserv_flowchart.pdf
- ./webserv_correction_prep.md
- ./_webserv/configuration_files/readme.md
Penelitian WIP tersedia di: https://docs.google.com/document/d/1i5g1xghdpuf_c7df9sp-edej2bdzipvbjh13hlpty0w/edit?
Cara menggunakan webserv ini
..Tbd
Fungsi default dari server web kami
File konfigurasi default terletak di configuration_files/default.conf .
Akar selalu di var/www .
Folder ini berisi semua file statis yang dapat dikembalikan oleh server web kami ke klien (HTML, CSS, gambar, dan bahkan file JavaScript!).
Halaman indeks terletak di /html/landing_page.html .
... TBC