Most languages expect you to have a high quality web server between the outside world and your code. Nginx, Apache, IIS, etc are extremely well tested and secure. They can serve up assets fast, cache, and much more.
A popular way to host now is to have an nginx server or process that accepts requests from the outside and then makes a request to a less capable web server for the app internally to provide a response, also known as proxying. This provides a clear barrier with outside world in one very concise config file.
What redbean apparently has is a sufficiently high quality web server included, so they can handle requests from top to bottom in one package (vertically integrated).
Thank you for explaining this. To add numbers to the explanation, a Python ThreadedHTTPServer can do about 1,500 qps on my machine whereas NGINX does 400k (and redbean does 1.1mqps). https://docs.google.com/presentation/d/1WEtSyz5oyTTGe0Fi2Nhh... So one thing that's always helped Python be more secure and stable, is having NGINX as its advance guard which can store and forward requests. That way Python can do its job as quickly as possible. Because untrusted clients can do evil things, like open a bunch of really slow clients that send 1 byte every second. NGINX is outstanding at addressing that with its evio model. redbean does almost as good of a job. But poor little Python would need to preempt the entire server acquiring its GIL for each byte received, and that would cause a lot of contention.
Not super familiar with this stuff, can someone explain?