| > You haven't actually given any good examples for what makes HTTP reverse proxying bad. Try running anything that generates absolute URLs in its HTML. And then try to
make it running under two different domains, for example. A clear cookie/URL
disaster, and it's all for web protocols from 2002, without talking about HSTS
or CORS yet. > Things like dealing with the Host header are two-minute fixes that you only have to deal with once, For every f&ckin' application. > but they really shouldn't even be issues in the first place. They shouldn't be, I agree, in that sense that it should be impossible to get
it wrong. With HTTP you don't have this and you need to deploy workarounds. > On the flip side, you might waste a lot of time trying to get your tech stack working with FastCGI if there isn't already existing support, Node.js may be the only offender here (I didn't bother to check). Virtually
everything else that is used for web applications supports FastCGI. > and you don't benefit from any HTTP support you already have. Like what? What exactly is the benefit of running HTTP between frontend HTTP
server and application's backend? Because the trouble with passing information
about the request is a clear downside. >> Such a deployment looks terrible at best. > Again, "looks terrible" is not a valid argument against it. Oh, quite the contrary. Inelegant systems or deployments usually give a death
by a thousand cuts. Too many exceptions and rules and guesses to work with
them. Just as we can judge the elegance of source code, we can judge the elegance of
deployments. |
For some applications (those that fit within the constraints of REST - and, no, that's not all Web "apps") - you can sometimes get easy caching by dropping something like varnish somewhere between the user and the app.