This repository contains simple client and server implementations for HTTP and HTTPS in various programming languages.
http_c/: C implementation of an HTTP server and client.http_go/: Go implementation of an HTTP server and client.http_python/: Python implementation of an HTTP server and client.http_rust/: Rust implementation of an HTTP server and client.https_c/: C implementation of an HTTPS server and client using OpenSSL.
Server:
gcc http_c/server.c -o http_c/server
./http_c/serverClient:
gcc http_c/client.c -o http_c/client
./http_c/clientServer:
go run http_go/server.goClient:
go run http_go/client.goServer:
python3 http_python/server.pyClient:
python3 http_python/client.pyServer:
rustc http_rust/server.rs -o http_rust/server
./http_rust/serverClient:
rustc http_rust/client.rs -o http_rust/client
./http_rust/clientThis implementation requires OpenSSL.
-
Navigate to the directory:
cd https_c -
Build the server and client:
make
-
Run the server:
./server
-
In a new terminal, run the client:
./client