Skip to content

Commit ef2eaef

Browse files
authored
Update README.md
1 parent 97fd326 commit ef2eaef

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

README.md

+39
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,41 @@
11
# webserv
22
This is when you finally understand why a URL starts with HTTP
3+
4+
5+
```mermaid
6+
flowchart TD
7+
A[Introduction to HTTP] --> B[Overview of HTTP server]
8+
B --> C[Primary function of a web server]
9+
C --> D[Request/Response model]
10+
D --> E[Role of client and server]
11+
12+
A1[General rules] --> F[Program Stability]
13+
F --> G[No crashing or unexpected quit]
14+
F --> H[Makefile structure]
15+
F --> I[Use C++ 98 standard]
16+
F --> J[Forbidden libraries]
17+
18+
A2[Mandatory Part] --> K[Program name: webserv]
19+
K --> L[HTTP server in C++ 98]
20+
L --> M[Command to run: ./webserv config_file]
21+
L --> N[Requirements]
22+
N --> O[Non-blocking I/O using poll or equivalent]
23+
N --> P[Configuration file handling]
24+
N --> Q[GET, POST, DELETE methods support]
25+
N --> R[Serve static content]
26+
N --> S[Handle file uploads]
27+
N --> T[Multiple ports support]
28+
29+
A3[For MacOS only] --> U[Use of fcntl]
30+
31+
A4[Configuration File] --> V[Define server host and port]
32+
V --> W[Set up server_names]
33+
W --> X[Configure routes for files]
34+
X --> Y[Enable CGI execution]
35+
X --> Z[Handle uploads and directory listing]
36+
37+
A5[Bonus Part] --> AA[Support cookies and session management]
38+
AA --> AB[Handle multiple CGI scripts]
39+
40+
A6[Submission and Peer Evaluation] --> AC[Submit via Git repository]
41+
```

0 commit comments

Comments
 (0)