Skip to content

f0lio/webserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

179 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webserv

HTTP Server in C++ using UNIX Sockets

Usage:

$ make setup  #to build and setup sample files (website)
$ ./webserv #to run with default config file
$ ./webserv [config_file] #custom config file
$ ./webserv -t [config_file] #to check config file validity without running

Features:

  • HTTP 1.1 compliant
  • Listen to multiple IPs
  • Listen to multiple ports
  • Methods: GET, POST, DELETE
  • Never block and client can be bounced properly
  • Non-blocking I/O operations
  • Able to upload files and DELETE them
  • Able to serve a fully static website.
  • Supports CGI (basic scripts)
  • Custom error pages
  • High availability
  • Resilient! Server never dies 🙂
  • poll() as the default event monitor

Notes:

  • Configuration file syntax is inspired by NGINX http server block.
  • Most of the browser-related actions are done using Chrome (other browsers may not be compatible enough)

About

http-server in C++ from scratch

Resources

Stars

Watchers

Forks

Contributors

Languages