Resources Used - RFC 2616, https://www.tutorialspoint.com/http, StackOverFlow, Python Documentation. Developer has very basic level of knowledge in python, so implementation is based on basic python programming and socket programming. All parameters of the project and considerations are based on the RFC & resources mentioned.
- HTTP Methods: GET, POST, PUT, DELETE, HEAD, CONNECT. (respective files)
- Log file handling with levels of logging. (Filename - serverlog.log)
- Server Configuration, config file to config server with DocumentRoot. (config.ini & config.py)
- Max simulateneous connections.
- Automation Script for Testing the server. (automate.py)
- Cookies, Multithreading.
host - localhost, port - 12001
- python3 server.py start (For starting the server)
- python3 automate.py (For testing the server, using the automation script)
For manually testing, enter in URL bar - localhost:12001/[any file present inside the folder] example: localhost:12001/site.html
Current working directory + /index - DocumentRoot for the server. Put files inside the [./index] to execute.
NOTE: USE OF INTERNET IS MUST TO LOAD THE WEBSITE BASED ON CSS, JS. Else site will not load properly.
Use Ctrl + C, to stop the server. (STOPPING/RESTARTING is not handled)
Regards.