{"id":25405368,"url":"https://github.com/ashiqyousuf/http-go-server","last_synced_at":"2026-07-05T19:31:33.194Z","repository":{"id":276460532,"uuid":"929355533","full_name":"ashiqYousuf/http-go-server","owner":"ashiqYousuf","description":"Http server in golang from scratch","archived":false,"fork":false,"pushed_at":"2025-02-09T14:37:16.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T20:37:06.657Z","etag":null,"topics":["concurrency","golang","sockets","tcp-server","trie-structure"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashiqYousuf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-08T11:01:09.000Z","updated_at":"2025-05-28T04:15:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"f56211d0-e9ba-4197-98e8-367bf79baec2","html_url":"https://github.com/ashiqYousuf/http-go-server","commit_stats":null,"previous_names":["ashiqyousuf/http-go-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashiqYousuf/http-go-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashiqYousuf%2Fhttp-go-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashiqYousuf%2Fhttp-go-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashiqYousuf%2Fhttp-go-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashiqYousuf%2Fhttp-go-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashiqYousuf","download_url":"https://codeload.github.com/ashiqYousuf/http-go-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashiqYousuf%2Fhttp-go-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35167259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concurrency","golang","sockets","tcp-server","trie-structure"],"created_at":"2025-02-16T04:34:37.842Z","updated_at":"2026-07-05T19:31:33.007Z","avatar_url":"https://github.com/ashiqYousuf.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HTTP Server in Golang from Scratch\n\n## Introduction\nThis project is a simple HTTP server implemented in Go, built from scratch for learning purposes. It helps you understand how HTTP requests and responses work at a fundamental level without using any frameworks.\n\n---\n\n## Features\n- Handles concurrent HTTP requests\n- Demonstrates request parsing\n- Responds proper HTTP response including Headers and Status Codes\n- Lightweight and easy to modify\n\n---\n\n## HTTP Request \u0026 Response Format\nHTTP communication follows a structured format:\n\n```\n\u003cRequest Line or Status Line\u003e   --\u003e e.g., \"GET /path HTTP/1.1\" \\r\\n\n\u003cHeaders\u003e                      --\u003e e.g., \"Host: 127.0.0.1\" (headers are separated by \\r\\n)\n(blank line)                   --\u003e \"\\r\\n\" (End of headers)\n\u003cBody (optional)\u003e              --\u003e (Present in POST, PUT, etc.)\n```\n\n### Example HTTP Request (from client to server)\n```\nGET / HTTP/1.1\n\nHost: 127.0.0.1:8080\n\nUser-Agent: curl/7.68.0\n\nAccept: */*\n\n\n\n```\n\n### Example HTTP Response (from server to client)\n```\nHTTP/1.1 200 OK\n\nContent-Type: text/plain\n\nContent-Length: 12\n\n\n\nHello World!\n```\n\n---\n\n## Running the Server\n1. Install Go if not already installed: [Download Go](https://go.dev/dl/)\n2. Clone this repository:\n   ```sh\n   git clone https://github.com/your-username/http-go-server.git\n   cd http-go-server\n   ```\n3. Run the server:\n   ```sh\n   go run main.go\n   ```\n4. Open another terminal and send a request:\n   ```sh\n   curl -v http://127.0.0.1:8080\n   ```\n\n---\n\n\n## Contributing\nFeel free to contribute by submitting a pull request or opening an issue. This project serves a great learning purpose.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashiqyousuf%2Fhttp-go-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashiqyousuf%2Fhttp-go-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashiqyousuf%2Fhttp-go-server/lists"}