Skip to content

A high performance multi-threaded HTTP webserver built with JAVA implementing sockets and not using any web or other server libraries.

License

Notifications You must be signed in to change notification settings

AnolChakraborty/java-multi_threaded-http-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JAVA-HTTP-Server

A high performance multi-threaded HTTP webserver built with JAVA implementing sockets and not using any web or other server libraries.

powered by powered by powered by

This project is under development and needs further improvement

Project is maintained using Maven

IDE used for project development is VS-Code

Server Performance

I tested the server in my local machine having following configuration, attached below is the result.

Benchmark Result

   Configuration of testing machine:
  • CPU: AMD Ryzen 5 5600H Hexa core CPU @ 4.2GHz
  • GPU: Radeon RX550M 4GB
  • RAM: 12GB DDR4 @ 3200MHz
  • Storage: 512GB M.2 SSD
  • OS: Windows 11
  • JAVA version: Open JDK v18 Windows 64bit
  • Benchmarking tool: Webstress

Features added till now

  • Multi-threaded request processing capability
  • Can serve basic webpages
  • Can handle javascript and css along with other files
  • Can serve multiple webpages from different directories
  • Can handle wrong webpage and resource requests
  • Can handle icons & images and other media (there is a bug here)
  • Can handle post request as well as AJAX calls
  • Cookie based session handling.
  • JSON data processing and parsing to and from the server to client
  • Use of appropiate response codes
  • Database integration with MySQL

Features to be added

  • To handle Get request
  • Video Streaming capabilities
  • Proper handling of request method (POST/GET etc)

Upcoming feature

  • GET request handling and GET data parsing

Current Bug

Currently no bug exists.

About

A high performance multi-threaded HTTP webserver built with JAVA implementing sockets and not using any web or other server libraries.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages