Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 1.61 KB

README.md

File metadata and controls

39 lines (33 loc) · 1.61 KB

HTTP Server

Team Members:

Division 2
Batch: T3
111803157  Mrunal Kotkar
111803168  Vrinda Ahuja

Steps to run the project:

  1. The main server file is webserver.py
  2. Run python3 webserver.py <port_no>
  3. For testing, three test files namely test1, test2 and test3 are present
  4. For combined testing, run python3 testing.py <port_no>
  5. Configuration file of the server is config.py
  6. Log file of server is access.log and will get updated as you make new requests.
  7. Snapshots of some cases of project are present in Screenshots folder
  8. Way to stop and restart the server by typing stop and restart respectively.

Project features:

  1. HTTP Request Methods Implemented:
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  1. Config file: Implemented configuration file with Document Root for some functionalities of server.
  2. Multithreading in server: Implemented multithreading in server to run multiple requests simultaneously
  3. Logging:
  • Levels of Logging - Implemented INFO and ERROR levels of logging for the log file
  • Folder (Logfiles) - Compression of logfiles and moving them to a folder sequentially after a particular time
  1. Automated Tests:
  • Test1 - Implemented different tests using multithreading and requests module
  • Test2 - Implemented different tests for sample website using webbrowser module
  • Test3 - Implemented different tests using socket programming and threading by manually creating requests.
  • Testing - Combined tests of all the three testfiles.
  1. Implemented Cookies and handled Persistent and non-Persistent connections