Web servers aren't big! Browsers are huge but servers can be tiny.
I'm sure Caddy and nginx and the like are at least 2MB, but they have a lot of features. Googling around a bit for small web servers, I found this fun blog post: https://lipanski.com/posts/smallest-docker-image-static-webs... They ended up with a static web server in a 154KB Docker image.
I realise 2MB is really small these days, I just found myself thinking "2MB wouldn't even fit on a floppy disk!"