Writing an HTTP server from scratch
- A HTTP server, fully written in
C++98
- CGI-es for the server are written on
Python
- Frontend is based on
bootstrap5 styles
SQLite
is used to save logins, passwords, comments- Cookies and session management are supported
- HTTP response status codes are accurate
- Default error pages are provided
- Clients are able to upload files
- Autoindexing is supported
Chunked
transfer encoding is supported- Implemented methods:
HEAD
,GET
,POST
,PUT
,DELETE
- Polling is implemented with
kqueue
(kevent
)
- Clone the repo
git clone [email protected]:tsegeron/webserv.git && cd webserv
- Build a project
make
- Launch the server
./webserv [config/deafult.config]
, you can pass your own config. If none is provided it will use the default one.*.config
extension is essential.
./webserv config/deafult.config
- Click the URL the server is started on to open a page in browser (recommended to use Chrome)
- If
500. Server error is occured
try configuring python interpreter to the 3.*v and try different URLs from config file.
This two-person project was done with mseastar.