Projekt für Webentwicklungsdisziplin: Entwickeln Sie einen HTTP 1.1 -Server mit Socket. Dies wird unter Verwendung von Python -Sprache entwickelt.
Ressourceneradten (älter):
Telemetrie mit eckiger Aktualisierungsdiv pro Sekunde.
Aktualisierte mobile Schnittstelle mit Bootstrap.
Feedback -Funktion auf Seite 404. Feedback wird mit der Post -Methode wiederhergestellt.
Implementierte virtuelle Statusfunktion. Automatisch generiert, nur als Anforderung '/virtual/.../status.json' Diese Funktion reagiert mit dem Serverstatus.
IP- und Broadcast -Adresse automatisch über die IFConfig erhalten. Wir nennen also einfach "Server (http_port, unicast_port)", da Adressen über das Paket "network.py" erhalten werden. Diese Funktion funktioniert jedoch nur unter Linux.
Implementiertes Serverraster. Jetzt mit einem eigenen Protokoll sendet der Server Broadcast -Pakete, die nach neuen Servern suchen. Bevor Sie 404 zurückkehren, suchen Sie nach dem Appell auf benachbarte Server.
Implementierung dynamischer Ressourcen mit der gemeinsamen Gateway -Schnittstelle. Beim Schreiben bei URL /CGI /Prog? Parameter, der Server wird den Prog ausgeführt, sowohl wenn er in /bin /oder /sbin /als auch wenn es sich um ein lokales Programm handelt. Versuchen Sie zum Test, das CGiexexecutable -Programm auszuführen und einige Parameter zu übergeben.
Implementierte die grundlegende Authentifizierung für den Pfadzugriff. Wenn ein Pfad angefordert wird, wird er auf dem Weg in der .htaccess -Datei gesucht. Wenn Sie nicht haben, 200. Wenn Sie dies getan haben, geben Sie 401 zurück. In der nächsten Anfrage wird ein Benutzer und eine Übergabe erwartet.
Bestellen Sie die Dateien, die mit dem Namen und der Größe mit Abfrageparamien wachsen oder abnimmt.
Vollständige Navigation an der Schnittstelle mit dem "Elternverzeichnis".
Die Symbole werden über Base64 geladen.
Die Navigationsschnittstelle präsentiert die Datei (Name), Größe - mit ihren jeweiligen Größen in Bytes, KB, MB und GB. Bei der Einfügung wird dieser Wert nicht informiert - und zuletzt geändert.
Bereitete Navigationsschnittstelle.
Achtung der unbekannten MyMetypen MYMype -Fehler, falsche Indexgenerierung und Pfade im Index, die aufgrund von '.'
Schnittstelle für die Navigation zwischen Verzeichnissen. Stellen Sie einfach eine Anfrage an 127.0.0.1:port/subpath/subsubpath.
Generieren index.html für jede Pfadanforderung.
Aktualisierte die Rückgabefunktion des nicht gefundenen 404.
Wenn sich der Kunde zum ersten Mal mit dem Server verbindet, gibt der Server ein Cookie "count = 0" zurück, was mit jeder Verbindung zum Server erhöht wird.
Beginnen Sie mit der Verarbeitung der Datei-Caches der GET-Methode: If-modifizierte und if-unmodifizierte Sinne implementiert.
Erhalten und Rückkehr und Rückgabe von Headerfeld-Inhaltslänge, Inhaltstyp und Last-modifiziert.
Rückgabe von GET -Anfragen von 128 x 128 Bytes -Dateien, um den Server nicht mit großen Dateien zu "ertrinken".
Es startet jetzt einen Thread, um alle Get zu servieren. Wenn sich ein Sockel verbindet, wird ein Faden freigegeben, um ihn zu servieren, und der Hauptfaden erwartet weiterhin eine weitere Verbindung.
Verwandeln Sie die Serverdatei in eine Klasse.