There are plenty of simple web server packages out there that I think work just fine with a compression-oriented style of programming. Fundamentally, all you need is for your server to respond to HTTP requests at particular URLs - and while the "classic" way is to use a bulky MVC framework, the actual problem is much smaller than that.
For example, take the built-in
http package in my favorite web backend language, Go:
| http.HandleFunc("/", func (w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Welcome to my website!")
})
|
The extent of their HTTP "framework" is basically mapping routes to functions. You can of course render templates, introduce "middleware" by putting common functions in your handlers (wrapper functions or otherwise), or do anything else your server needs, without any OOP bloat.
What you really don't need is the OOP stuff. It's no more difficult to separate your data from your behavior in web programming than in any other discipline - you just have to find a server package that doesn't force a lot of extra structure on you. "Routing" is still useful (it's just parsing URLs), "middleware" is still useful (it's just applying functions to the request/response), but you can do those things without an aggressive or opinionated framework.