A cup of WebMacha
We all use the world wide web a lot, and for many who've had occasion to work with web clients and servers, the complexity of the HyperText Transfer Protocol may be a surprise.
Years ago, a group of Erlang programmers working at a company called Basho decided to map the state machine of HTTP/1.1 completely and implement it in code. This was a successful project and the approach was followed in other languages.
Today, HTTP/2 is widely used to improve performance by correcting various inefficiencies in HTTP/1.1, but it is a more complex binary protocol.
WebMacha exists to animate the original HTTP/1.1 state diagram, and even attempt to animate HTTP/2. While HTTP/3 exists it is less widely used and currently out of scope for this project.
I hope that this application proves useful for students and those curious about how the web works, to build a mental model and to double check their assumptions. Any inaccuracies in the application's model of these protocols are probabaly mine.