25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# http
|
|
The aim of these two modules is to implement a client and a server that partially implement HTTP 1.1
|
|
|
|
## client
|
|
|
|
The client takes a URL as input, connects to the corresponding server on the corresponding port(`80` by default) and requests the file specified in
|
|
the URL. The transmitted content of that file is written to `stdout`, to a file or to a directory.
|
|
|
|
SYNOPSIS
|
|
client [-p PORT] [ -o FILE | -d DIR ] URL
|
|
|
|
EXAMPLE
|
|
client http://ivayloivanov.eu/en/
|
|
|
|
|
|
## server
|
|
|
|
The server takes a document root as input, reads it and serves it on the port specified(`8080` by default). If the `-i` flag is specified, the server uses its value as an index file. If not, it takes index.html as a default. The server supports **ONLY** GET requests. If it receives another request type it will return a response status **501** (Not implemented). If the file requested is not found, the server returns a response status **404** (Not found).
|
|
|
|
SYNOPSIS
|
|
server [-p PORT] [-i INDEX] DOC_ROOT
|
|
EXAMPLE
|
|
server -p 1280 -i index.html ./public/
|
|
|
|
**Note: The description is from the task I got from TU.** |