Comments on: Looking for a tiny R3 webserver
2-Nov: Rewrote this again... I'm' having trouble getting my message across.
- I'm considering the possibility of extending the R3 Chat HTML interface (see prior blog) in a simple way by using a localized web server.
- In R2 we have several web-servers of various sizes. I wrote one that's "micro-sized", Dixon wrote one that's "mini-sized", and DocKimbel wrote one that's "super-sized".
- Has anyone ported any one of those to R3 yet? I thought I'd check before doing it myself. My time is in short supply these days.
A resident module? A half way feature complete web server? For what? Sorry to have a different opinion, but IMO the big mistake of R2 was, that in fact we did not standardise on certain stuff, and default networking layer was semi-complete.
If you ask me, I want one, and only one thing - powerfull Core. Add tasking, and you will get R3 version of Cheyenne. No need to reinvent the wheel imo.
If you want to add a resident module to R3, networking wise - anything less than Uniserve-like multiplexing and flexible engine - is a substandard, and not worth adding as a default part of the distro ...
I thought, that with R3, we are aiming really high ...
Carl I am the worst of the Rebol dilettantes, but on this I have voice my whole-hearted support for the idea -- sorry -pekr-.
I think I understand -pekr-'s objections and I don't understand webservers well enough to know what is possible or not. But would not a "tiny webserver" be a husk under which something like Cheyenne could use? If so what does it represent other than a file address space?
On that basis (as file address spaces) it would be very important to have an integrated module.
Yeah, a basic HTTP file namespace server could be very useful in many circumstances. I don't know if something like UniServe could use that as a base, so when you run that you'd have some stuff double, but a basic server doesn't need to be very big.|
Pekr, different methods serve different purposes. If you want to crush an ant, you don't need a sledgehammer. There are many times when mini servers are quite useful. For example, if you own a car made over the last decade, it has a mini web server in it for diagnostics. It is not an Apache class server, it's just a simple but useful request-response transfer method.
That said, at this time I'm not sure it would be made resident or not. (That decision comes later.) Right now, I'm just asking if anyone has tested such code in R3 already -- so I don't need to write it myself, as I have little extra time.
Maybe this article could mention its purpose, which I learned reading R3 Chat comment - if you are looking for tiny web-server for the purpose of Chat itself, it puts things into different perspective. I think noone writtend such a server for R3, yet, ppl are somehow afraid of R3 networking protocols, or so it seams :-)
The reason why I said we should "aim high" was our long time experience with R2. There were many add-ons for R2 networking, but they all extended default R2 networking functionality, each in its own way - no "framework" was standardised. So I thought that having something like Uniserve, which let's you dynamically load/unload protocols/services, has control service, etc., would be nice, because then ppl would extend the framework, not R3 networking layer itself.
I can see we have place for both in R3. The more with module system, which can make things - optional.
As an excercise, I might go over to rebol.org, trying to did some webserver (there were few of them), and try to port it :-)
Pekr, I support your idea of porting a small webserver. Just make sure it ends up being really, really small. :-)|
Henrik - no worries, we have 'compress function, right? :-) You can look at available webservers for R2 here:
I think that Micro Webserver (Tiny Webserver) is a good candidate - Carl even created Cook-book entry for it :-)
The idea of having a 'small' web server is very handy, since it takes away the need to set up a full blown web server just to do some dabbling with web development.
A prime example of this is trying out a dynamic web development framework called Seaside, which is developed for various commercial and free Smalltalks. The Smalltalk image that allows you to try out Seaside, also contains Comanche a small web server, and it is all ready set up to use.
Comanche is the 'small' web server that lets you try out Seaside without the need to go and set up your own web server.
Then when you want to seriously deploy the Seaside application you have developed you can implement it on a proper web server.
I like the idea of having a small web server inside REBOL.
However, for the purpose of reading better the REBOL3 chat I would like to see it implemented into a VID interface.
I think that a integrated web server in R3 Chat is a very interesting idea. That will open a lot of doors.
We only need a web server answering to the url
http://localhost/text?command=n with the output of
the chat command "n" like a text file. The n command or another R3 Chat command
This open the door to a graphic interface for R3
Chat. So anyone can do a R2 Visual interface with VID to the R3 Chat and we don't have to wait to VID3 working on R3.
We can have a total Rebol visual solution to R3 Chat, client with R2, server on localhost with R3. The solution is secure because you only can do R3 Chat's commands, the server just take the command, run it, and return the output.
In a future, if we want a Web Visual interface we can
add the feature of answer to http://localhost/json?command=n returning a json object, so any Ajax request can work with data and show it at a rich client web page.
i'm pragating the information to french rebol sphere.
let see if more concerned people are moving around here ^^.
Handy and small (60kB) mongoose server at code.google.com/p/mongoose/ able to run as command line/service SSL ready. cgi interpreter unrestricted (ie REBOL ready)|
Post a Comment:
You can post a comment here. Keep it on-topic.