monte at appisle.net
Tue Aug 1 19:28:22 EDT 2017
> On 2 Aug 2017, at 8:57 am, Andre Garzia via use-livecode <use-livecode at lists.runrev.com> wrote:
> I just looked at the source code for the new httpd library, it is quite
> similar in "what it is doing" to mchttpd and my own revhttpd. Basically
> both of them use LC to accept and process requests. I had the impression
> that the new library was using some C/C++ based implementation.
> The implementation Monte made is very minimalist and elegant. It is easy to
> follow and can even serve as a base for more ambitious projects. It suffers
> from the same problems as mchttpd and revhttpd though which is, it can't
> handle any form of concurrency. If your callback handler blocks, there is a
> great chance that any other requests will be discarded (unless LC is
> actually buffering and queueing them which would be awesome and also solve
> the same issue on the other implementations).
It is only really intended to be a simple implementation to use to serve something on localhost. As I mentioned previously it was only implemented for serving a HTML5 standalone in one of our test tools but generalised into a library for reuse for a number of things (HTML5 deploy library & FileMaker plugin web view, users serving things like reports in a local browser). I would not use it on a public webserver although it probably could handle some low traffic. It has not had any load testing done on it but I’m really not sure why it would drop requests unless the client has a very short timeout or each request takes a long time to handle. Of course if there’s a thousand requests coming in a second or something you’re on your own ;-)
More information about the Use-livecode