Skip to content

HTTP Server that supports HTTP/1.1 and HTTP/2.0 build using only the tcp package inspired by Golang Standard library

Notifications You must be signed in to change notification settings

Mgrdich/myHttpServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2eb36f6 · Dec 6, 2024

History

17 Commits
Nov 13, 2024
Dec 6, 2024
Dec 4, 2024
Dec 6, 2024
Nov 24, 2024
Dec 2, 2024
Dec 6, 2024
Dec 6, 2024
Dec 2, 2024
Dec 2, 2024

Repository files navigation

HTTP Server Implementation from Scratch

This code is inspired from the Golang standard library, implements restricted of Server that implements HTTP/1.1 and HTTP/2.0 protocols

  • implement HTTP/1.1 Server using tcp and you can run it under TLS as well
  • implement HTTP/2.0 Server using tcp ( still work in progress )
  • making sure it uses multi-threading and connection persistence for each case as defined per protocol

To use HTTP/2.0 you should use the TLS Version (which is why ListenAndServeTLS is used instead of ListenAndServe)

How to build the project

  • Create self signed ssl certificates by running openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
  • run make build to build the executable and then ./main-exec
  • To use the tls ./main-exec -tls=true by default it is false
  • to configure the port that you want to run ./main-exec -addr=8081

About

HTTP Server that supports HTTP/1.1 and HTTP/2.0 build using only the tcp package inspired by Golang Standard library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published