Added README.md
This commit is contained in:
parent
f06303e2b7
commit
d40ead82c0
26
README.md
Normal file
26
README.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# HTTP server
|
||||||
|
In order to become more familiar with web technologies and the
|
||||||
|
HTTP protocol, I built a web server using Rust. I went through
|
||||||
|
several iterations before I arrived at the final product, which
|
||||||
|
currently hosts this website. My first prototype followed the
|
||||||
|
web server [tutorial](https://doc.rust-lang.org/book/ch20-00-final-project-a-web-server.html)
|
||||||
|
in the official rust book. I expanded on the tutorial using the
|
||||||
|
Tokio async runtime and the tiny_http crate to build a rudimentary
|
||||||
|
web framework. It can serve static pages, rewrite faulty URLs, and
|
||||||
|
perform routing and redirects.
|
||||||
|
## Retirement
|
||||||
|
Maintaining a web server is a lot of work, and began to get in the way
|
||||||
|
of my other projects. After experimenting with several other web frameworks
|
||||||
|
like Axum and Bun, I decided to set up an Apache server instead. While this
|
||||||
|
Rust server is no longer in use, I plan on returning to it at a later date
|
||||||
|
and using it to host another one of my websites.
|
||||||
|
## What I learned
|
||||||
|
Through this process I learned about the life cycle of an HTTP request
|
||||||
|
and a TCP connection from the perspective of a web server. I now know
|
||||||
|
how to configure an SSL certificate, and integrate with a site with
|
||||||
|
Cloudflare. Now that I understand how a web server works at a low level,
|
||||||
|
I am comfortable using higher level libraries which abstract these details
|
||||||
|
away.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue