{"id":16580890,"url":"https://github.com/pablo-mayrgundter/http","last_synced_at":"2026-06-10T09:31:57.125Z","repository":{"id":128775861,"uuid":"266294198","full_name":"pablo-mayrgundter/http","owner":"pablo-mayrgundter","description":"A simple multi-threaded HTTP/1.0-ish file server.  Single file, ~250 LOC.","archived":false,"fork":false,"pushed_at":"2021-04-03T03:49:58.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T00:16:01.241Z","etag":null,"topics":["http","java","server","web"],"latest_commit_sha":null,"homepage":"","language":"Java","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/pablo-mayrgundter.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}},"created_at":"2020-05-23T08:24:20.000Z","updated_at":"2022-12-08T23:53:24.000Z","dependencies_parsed_at":"2023-06-26T00:36:57.501Z","dependency_job_id":null,"html_url":"https://github.com/pablo-mayrgundter/http","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pablo-mayrgundter/http","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-mayrgundter%2Fhttp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-mayrgundter%2Fhttp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-mayrgundter%2Fhttp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-mayrgundter%2Fhttp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pablo-mayrgundter","download_url":"https://codeload.github.com/pablo-mayrgundter/http/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-mayrgundter%2Fhttp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34146871,"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-06-10T02:00:07.152Z","response_time":89,"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":["http","java","server","web"],"created_at":"2024-10-11T22:27:42.253Z","updated_at":"2026-06-10T09:31:57.097Z","avatar_url":"https://github.com/pablo-mayrgundter.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# http\nA simple multi-threaded HTTP/1.0-ish file server. Single file, 300 LOC.\n\nHandles only GET requests, serving files below the directory in which\nthe server is started.  Does Content-Type inference based on file\nextensions (e.g. html, js, png, jpg).\n\nCurrently disables any type of cacheing as I use it mostly for local\ndevelopment and want to avoid versioning mistakes.\n\nAlso has fledgling SSL support that has occasionally worked.\n\nTo run:\n```\njava net.http.Server\n```\n\nor if you can't run on priviledged ports (\u003c1024), pick a high one:\n\n```\njava -Dport=8080 net.http.Server\njava -Dport=8080 -Dssl=true net.http.Server\n```\n\nGood performance using Java's Native IO.  Loadtest using acme.com's http_load:\n\n```\n\u003e cat /proc/cpuinfo\n... Intel(R) Xeon(R) CPU           X5679  @ 3.20GHz ...\n... Intel(R) Xeon(R) CPU           X5679  @ 3.20GHz ...\n... Intel(R) Xeon(R) CPU           X5679  @ 3.20GHz ...\n\u003e dd if=/dev/zero of=10k.dat bs=1024 count=10\n\u003e echo \"http://localhost:8080/10k.dat\" \u003e test.url\n\u003e ./http_load -p 10 -f 10000 test.url\n# Throwaway\n\u003e ./http_load -p 10 -f 100000 test.url\n100000 fetches, 10 max parallel, 1.024e+09 bytes, in 34.9176 seconds\n10240 mean bytes/connection\n2863.88 fetches/sec, 2.93262e+07 bytes/sec\nmsecs/connect: 0.0995282 mean, 2.717 max, 0.037 min\nmsecs/first-response: 3.18724 mean, 202.23 max, 0.315 min\nHTTP response codes:\n  code 200 -- 100000\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablo-mayrgundter%2Fhttp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablo-mayrgundter%2Fhttp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablo-mayrgundter%2Fhttp/lists"}