- 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
เซิร์ฟเวอร์ HTTP ง่าย ๆ ที่ทำจากคำอธิบายขีดข่วน ของโครงการ
คุณสมบัติของ webserv นี้
- การเขียนโปรแกรม Sockets: การสื่อสารกับลูกค้าเซิร์ฟเวอร์ขั้นพื้นฐาน (ใช้ <sys/socket.h> lib)
- การเขียนโปรแกรมซ็อกเก็ต: IO มัลติเพล็กซ์กับ Epoll Suite, ซ็อกเก็ตไม่ปิดกั้น
- สถาปัตยกรรมเว็บเซิร์ฟเวอร์: ขึ้นอยู่กับสถาปัตยกรรม Nginx (กระบวนการของผู้ปฏิบัติงาน) -> โครงสร้างข้อมูลเซิร์ฟเวอร์โครงสร้างข้อมูลการกำหนดค่า
- สถาปัตยกรรมเว็บเซิร์ฟเวอร์: คนงานหนึ่งคน (หนึ่งกระบวนการ) กำลังจัดการการเชื่อมต่อทั้งหมดโดยใช้ epoll
- ไฟล์การกำหนดค่า: ได้รับแรงบันดาลใจจากไฟล์กำหนดค่า Nginx ดูรายละเอียดสำหรับคำสั่งด้านล่าง
- คำสั่งการกำหนดค่า: ดู "./_webserv/configuration_files/readme.md"
- โปรโตคอล HTTP: 1.1
- วิธี HTTP: รับโพสต์ลบ
- การเปลี่ยนเส้นทาง http
- รหัสข้อผิดพลาด http: ดู "./webserv_dictionnary.md"
- อัปโหลดไฟล์:
- ดาวน์โหลดไฟล์:
- จัดการชนิดข้อมูล: ธรรมดา/ข้อความไบนารี
- การเข้ารหัส
- เนื้อหาแบบไดนามิกที่จัดการกับ CGI, CGI Scripts ใน Python และ Perl
- ตัวจับเวลาตั้งค่าเป็น 60 วินาทีเริ่มต้น
- สคริปต์ HTML, CSS
- ใช้วัตถุสตรีมแทนตัวอธิบายไฟล์สำหรับการอ่าน/เขียนส่วนใหญ่ยกเว้นซ็อกเก็ต
- การจัดการข้อผิดพลาดการรั่วไหลล้อม
โฮสต์, ฟัง, server_name, ตำแหน่ง, วิธี, รูท, ดัชนี, AutoIndex, Body_Size, ERROR_PAGE, return, exec_cgi, extension_cgi)
เนื้อหาของ GitHub นี้
_webserv
โฟลเดอร์นี้มีเวอร์ชันสุดท้ายและสมบูรณ์ของเว็บเซอร์ของเราผลักและตรวจสอบความถูกต้อง 18/07/23
./webserv_*
เรากำลังตั้งเป้าหมายที่จะสรุปเอกสารต่อไปนี้ในอีกไม่กี่สัปดาห์ข้างหน้าพวกเขายังคงทำงานอยู่:
- ./webserv_dictionnary.md
- ./webserv_research.pdf
- ./webserv_flowchart.pdf
- ./webserv_correction_prep.md
- ./_webserv/configuration_files/readme.md
WIP Research มีอยู่ที่: https://docs.google.com/document/d/1i5g1xghdpuf_c7df9sp-edej2bdzipvbjh13hlpty0w/edit?usp=sharing discleny: นี่คือเอกสารการวิจัยของเรา
วิธีใช้ webserv นี้
.. TBD
การทำงานเริ่มต้นของเว็บเซิร์ฟเวอร์ของเรา
ไฟล์การกำหนดค่าเริ่มต้นอยู่ที่ configuration_files/default.conf
รูทอยู่ที่ var/www เสมอ
โฟลเดอร์นี้มีไฟล์คงที่ทั้งหมดที่เว็บเซิร์ฟเวอร์ของเราสามารถกลับไปที่ไคลเอนต์ (HTML, CSS, รูปภาพและแม้แต่ไฟล์ JavaScript!)
หน้าดัชนีอยู่ที่ /html/landing_page.html
... TBC