Project for Web Development Discipline: Develop an HTTP 1.1 server using socket. This will be developed using Python language.
Resource additions (older):
Telemetry with angular updating DIV every second.
Updated mobile interface with bootstrap.
Feedback feature on page 404. Feedback is recovered using the post method.
Implemented virtual status feature. Automatically generated, only as a request '/virtual/.../status.json' this feature responds with server status.
Obtaining IP and Broadcast address automatically via the ifconfig. So we just call 'Server (http_port, unicast_port)', as addresses are obtained via the 'network.py' package. However, this feature only works on Linux.
Implemented server grid. Now with a own protocol, the server sends Broadcast packages looking for new servers. So, before returning 404, you will look for the appeal on adjacent servers.
Implementation of dynamic resources with the Common Gateway Interface. When writing at URL /CGI /Prog? Params, the server will run the PROG, both if it is in /bin /or /sbin /, and if it is a local program. For test, try to run the CGIEXECUTABLE program and pass a few parameters.
Implemented the Basic Authentication for Path access. When a Path is requested, it will be sought in Path the .htaccess file. If you don't have, 200. If you have, you return 401. Then in the next Request is expected a user and pass.
Ordering the files growing or decreasingly by the name and size using query params.
Complete navigation at the interface using the 'Parent Directory'.
Icons are loaded via base64.
Navigation Interface presents the File (name), Size - with their respective sizes in Bytes, KB, MB and GB. When paste, this value is not informed - and Last Modified.
Ready navigation interface.
CAUTION OF UNKNOWN MYMETYPES MYMYPE ERRORS, INCORRECT INDEX GENERATION AND PATHS IN INDEX LINKED TO INCORRECT PLACE BECAUSE OF '.'
Interface created for navigation between directories. Just make a request to 127.0.0.1:port/subpath/subsubpath.
Generating index.html for any Path request.
Updated the return function of the 404 Not Found.
When for the first time the customer connects with the server, the server returns a cookie "count = 0", which is increased with each connection to the server.
Starting to process the File Caches of the GET Method: IF-Modified-Since and IF-UNMODIFIED-Since implemented.
Obtaining and returning Header-Field Content-Length, Content-Type and Last-Modified.
Returning Get Requests of 128 by 128 bytes files so as not to "drown" the server with large files.
It is now launching a thread to serve any GET. So when a socket connects, a thread is released to serve it and the main thread continues to expect another connection.
Turning the server file into a class.