Releases: vimalyad/Http_server
v1.1.0 - Interactive UI & Project Showcase
This release builds upon the stable v1.0.0 core by introducing a complete, user-facing web interface. 🌐 The server is now fully equipped with a set of modern and responsive web pages for documentation, contact, and—most importantly—a live testing suite.
This update significantly improves the project's usability and makes it much easier to demonstrate and interact with the server's capabilities.
✨ Key Features & Enhancements
-
Interactive Test Suite (
test.html): The centerpiece of this release is a new UI for testing all server endpoints directly from the browser. It allows you to testGET,POST, error cases, and security measures in real-time. -
Complete Project Website: Added a full set of static pages to showcase the project, including a new homepage (
index.html), about page, and contact page (contact.html) with styled links. -
Modern UI/UX Overhaul: The entire frontend has been built with a sleek, responsive design. The new interface features a professional dark theme, improved typography, smoother animations, and better user feedback on all interactive elements.
-
Unified Site Navigation: All pages are now interlinked with a consistent navigation menu, creating a cohesive and easy-to-navigate website for the project.
✅ Core Server
The underlying multi-threaded server remains as robust and performant as in v1.0.0. These new UI features are built on top of that stable foundation.
v1.0.0
This is the first stable release of the Multi-threaded HTTP Server, a project built from scratch using Java and low-level socket programming.
This version provides a robust and fully functional HTTP/1.1 server capable of handling concurrent client connections, serving static and binary files, processing JSON data, and enforcing essential security measures. The server is packaged as a standalone, executable .jar file, making it easy to run on any machine with Java installed.
Key Features in This Release
- ✅ Multi-threaded Server Core: Implemented a fixed-size thread pool to handle multiple clients simultaneously.
- ✅ HTTP/1.1 Support: Handles
GETfor file retrieval andPOSTfor data submission. - ✅ Static & Binary File Serving: Serves
.htmlfor in-browser rendering and.png,.jpg,.txtas downloadable files. - ✅ JSON API Endpoint: Supports
POSTrequests withapplication/jsonto create files in theuploads/directory. - ✅ Connection Management: Supports persistent
keep-aliveconnections with idle timeouts and request limits. - ✅ Security Hardening: Includes Path Traversal protection and Host header validation.
- ✅ Comprehensive Logging: Logs all major server events to
server.log.
Assets
- 📦
http_server.jar: The executable "uber" JAR file. It contains the compiled server code and all necessary dependencies.
How to Run
- Download the
myartifactid-0.0-SNAPSHOT.jarfile from the assets below. - Open your terminal or command prompt and navigate to the directory where you downloaded the file.
- Run the server using one of the following commands:
With default settings (localhost:8080, 10 threads):
java -jar http_server.jarWith custom settings (e.g., port 8000, any host, 20 threads):
java -jar http_server.jar 8000 0.0.0.0 20