This project is here to make you write your HTTP server. This multiplexing, multi-port, virtual-hosting server is basically running on a single thread, except for cgi handling.
2021.08. ~ 2021.10
$> make all && ./webserv
$> make debug && ./webserv
- ServerFd ReadEvent 발생 ->
ClientFd 생성
- ClientFd ReadEvent 발생 ->
Client에서 Request 파싱
- Request(Clinet) -> Server
- Read 필요한
Resource Fd Read Event 등록
, Server(ResourceFd) -> Client -> ServerManager - ResourceFd ReadEvent 발생 ->
Resource를 Server로
전달
- Read 필요한
Server에서 Response 생성
- Client WriteEvent 발생 -> Client는 Response가 완성되어있는지 확인. ->
send
- Stderr WriteEvent 발생 -> stderr에 출력.
- GET, POST, DELETE
- multiple ports
- CGI
- multiplexing
-
jolim
- ServerManager
- poller: kqueue
- multiplexing
- ConfigParser
- config parsing
- TermPrinter
- ServerManager
-
seohchoi
- Server
- Request -> Response
- Resource
- Server
-
jinbekim
- Client
- Request parsing
- CgiConnector
- CGI
- Client