Wie funktioniert die Skriptausführung in einem Webserver? Ein Thread pro Skriptaufruf?
-
Ich möchte gerne wissen wie die Skriptausführung (PHP, Python etc. als Modul, nicht CGI) in einem Webserver funktioniert.
Wird pro Skriptausführung ein Thread benötigt? Wenn ja dann könnte man doch z.B. durch einen 'Sleep'-Aufruf in einem Skript und entsprechend vielen Aufrufen alles zum Stillstand bringen denn irgendwie muss es ja ein Thread-Limit geben, entweder durch den Webserver oder durch das Betriebssystem?!
Man kann ja z.B. in PHP auch nen Timeout setzen aber der ist defaultmässig ja eher hoch angesetzt.Deswegen vermute ich mal das es anders realisiert wird. Klärt mich mal auf.

-
Kann schon so realisiert sein, ab 5 Anfragen der selben IP werden einfach keine mehr beantwortet.
MfG SideWinder
-
Kommt ganz drauf an. Bei mod_php/mod_python und die ganzen Apache-Erweiterungen, sind die Interpreter in den Server-Prozess eingebunden. Ob also ein Prozess (oder Thread) pro Seitenaufruf existiert hängt von den Server-Einstellungen ab (Fork-Pool etc).
Bei FastCGI existiert erstmal nur ein Prozess (plus Server-Prozesse/Threads), wie das FastCGI das handhabt, hängt vom FastCGI ab. Bei CGI existiert ein Prozess pro Anfrage (plus Server-Prozesse/Threads).
Aber klar (Achtung: Stichwort) DoS und DDoS stellen eine Gefahr für Webserver (und alle anderen Server dar).