Website ausschließlich mit Flask (Python)?

1 Antwort

Funktional reicht Flask erstmal aus. Das Ding kann HTTP servieren, das Web braucht HTTP, also eigentlich alles da.

Trotzdem schaltet man vor sowas fast immer einen "richtigen" Webserver wie Apache oder nginx. Der kann nämlich statische Inhalte (HTML, CSS, ...) viel schneller bzw. effizienter ausliefern, kann TLS/SSL terminieren, kann HTTP/2 (und teils auch /3) und spielt auch diverse andere Stückerln, wenn man sie braucht (Rate Limiting, URL Rewriting, Caching als Reverse Proxy, usw. usf.).

Willst du das Ding denn auch weiterhin lokal betreiben? Das ist ja eher nur für ganz kleine Hobby-Websites sinnvoll und hat seine diversen Probleme (Erreichbarkeit von außen, wechselnde IP-Adressen, mangelnde Bandbreite...).

Elias836 
Fragesteller
 19.04.2024, 15:53

Vielen Dank erstmal für die ausführliche Antwort! ^^

Zu deiner Frage: Ich würde es über DNS mit meiner IP über Cloudflare zu einer Domain verbinden. (Quasi eine Website für meinen näheren Freundeskreis.) Könntest du, dass mit den Problemen die da auftreten können, eventuell ein wenig genauer erklären? 😅

0
jo135  19.04.2024, 15:57
@Elias836

Internetanschlüsse für zuhause (über DSL, Kabel oder was immer) haben oft keine statischen IPs, das heißt, die Adresse ändert sich gelegentlich. Manchmal rotieren die jeden Tag, manchmal bei Neustart des Routers. In einigen Fällen ist es auch erstmal unmöglich, irgendwelche Dienste nach außen anzubieten, weil das der Provider sperrt oder durch die Netzwerkkonfiguration per Default unmöglich ist (etwa wenn du hinter einem NAT bist, was oft bei Kabelinternet gemacht wird).

Und natürlich sind sie im Download (aus deiner Sicht Upload) tendenziell recht langsam. Und dein Router muss auch Port Forwarding unterstützen, sodass dein Server von außen erreichbar wird.

Ist alles im Prinzip lösbar, kann aber mehr oder weniger mühsam sein.

0
Elias836 
Fragesteller
 19.04.2024, 16:00
@jo135

Ich habe tatsächlich schon das port forwarding bei mir eingerichtet. Die statische IPv4 habe ich ebenfalls. Nun, wie schnell ist denn der Download? Könnte das bei der Seite zu einem Problem werden?

0
jo135  19.04.2024, 16:02
@Elias836
Nun, wie schnell ist denn der Download? Könnte das bei der Seite zu einem Problem werden?

Keine Ahnung, ich weiß ja nicht was du für einen Anschluss hast, was deine Seite tut und wieviele User darauf zugreifen sollen...

Deine Down- und Uploadgeschwindigkeit kannst du ja mal mit deinem der diversen Internet-Speedtests grob messen.

0
Elias836 
Fragesteller
 19.04.2024, 16:15
@jo135

Ich messe im Upload 500 MBits und im Upload 50-60 MBits, aber in wie fern wäre es schneller, wenn ich z.B. Apache nutzen würde? Würde das nicht trotzdem die selbe Verbindungsgeschwindigkeit nutzen? 🤔😅

0
jo135  19.04.2024, 16:25
@Elias836
 Upload 50-60 MBits

Das ist dann also die Geschwindigkeit, die alle deine Benutzer von außen als Downloadgeschwindigkeit maximal haben.

aber in wie fern wäre es schneller, wenn ich z.B. Apache nutzen würde?

Gar nicht, das habe ich auch nicht behauptet. Allerdings kann ein Apache statischen Content so ausliefern, dass ihn der Client auch so versteht und entsprechend nicht jedesmal anfordert, weil er ihn im lokalen Cache hat. Das hilft also, etwas Bandbreite zu sparen. Außerdem ist HTTP/2 generell etwas effizienter als HTTP/1. Und du kannst eben ganz leicht HTTPS anbieten, was heute doch fast schon vorausgesetzt wird.

0
Elias836 
Fragesteller
 19.04.2024, 16:33
@jo135

Achso okay, eine Frage hätte ich noch. Inwiefern unterscheiden sich HTTP/1, 2 und 3 genau? :)

0