9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Jim Choate <ravage@einstein.ssz.com>
To: <9fans@cse.psu.edu>
Cc: <hangar18-general@open-forge.org>
Subject: Re: [9fans] WebDAV file system
Date: Wed, 30 Oct 2002 08:13:35 -0600	[thread overview]
Message-ID: <Pine.LNX.4.33.0210300801010.15595-100000@einstein.ssz.com> (raw)
In-Reply-To: <01ea01c27fdb$9a924dc0$620da8c0@HPN5415>


On Tue, 29 Oct 2002, John E. Barham wrote:

> Hmmm.  I guess I wasn't making myself clear.

Seemed perfectly clear to me. I was simply making a point about HTTPD
and client-server under 9P and how different it was to 'standard' OS'es.

> I want to write a native Plan 9 file system that exposes a remote WebDAV
>  server in much the same way that ftpfs makes a remote ftp server appear
>  to be part of the local fs.

Rage on. You should spend less time talking ;)

> By "stateless" I meant that HTTP creates a new TCP connection...

> I don't see how even a (hypothetical) Plan 9 browser could make HTTP
> stateful since even if you have fs access to cookies,

Who needs cookies under 9P? Nobody, that's who. There is nearly -zero-
requirement for a conventional httpd under 9P, therefore there is nearly
-zero- need for cookies. Cookies are a convention to let the -server- know
where the user has been. If there is no server per se who is going to read
those cookies? Nobody. The users client can track all that locally, it
only processes html and executes cgi scripts. The trick is the cgi, there
are two 'modes' that it can be executed in. The first is conventional
cleint side scripts. Pretty easy to impliment, the users browser simply
spawns off a process with the apropriate namespace and waits for the
results to return from the process cloud. When they do, it renders the
page for the user (again via the process cloud since it doesn't need to be
done on the users i/o processor). The other approach has to do with server
side programs. These require that the user can execute them and grab their
i/o stream, but has zero control over reading, writing, or namespace. So,
9P requires that the user be able to see the name of the program and spawn
a 'process namespace' off that the user has zero control over (and I
admit I'm a little fuzzy on exactly how to do that, right now).

Note that all of this doesn't require a cookie, only that the users
browser have a pretty conventional 'history' function. This means that 9P
is -very- cost effective from the 'server' perspective. Create it, mount
it somewhere persistent, and forget about it.

Personaly I find the twist that 9P makes to the usual client-server
approach to be truly elegent.


 --
    ____________________________________________________________________

    We don't see things as they are,                      ravage@ssz.com
    we see them as we are.                                   www.ssz.com
                                                  jchoate@open-forge.org
    Anais Nin                                         www.open-forge.org

    --------------------------------------------------------------------



  reply	other threads:[~2002-10-30 14:13 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-30  3:12 John E. Barham
2002-10-30  5:53 ` Jim Choate
2002-10-30  6:14   ` John E. Barham
2002-10-30 14:13     ` Jim Choate [this message]
2002-10-30  4:10 Skip Tavakkolian
2002-10-30  6:29 Russ Cox
2002-10-30 11:06 ` Boyd Roberts
2002-10-30  8:31 Charles Forsyth
2002-10-30 13:14 ` rob pike
2002-10-30 14:16 ` Jim Choate
2002-10-30  8:55 okamoto
2002-10-30  9:37 C H Forsyth
2002-10-30 10:45 Geoff Collyer
2002-10-30 13:17 ` rob pike
2002-10-30 13:27   ` Lucio De Re
2002-10-30 18:11     ` Jim Choate
2002-10-30 14:40 ` Ronald G Minnich
2002-10-30 19:13 ` John E. Barham
2002-10-30 20:34   ` Dan Cross
2002-10-30 15:42 Skip Tavakkolian
2002-10-30 17:21 Russ Cox
2002-10-30 21:55 ` Jim Choate
2002-10-30 18:21 rob pike, esq.
2002-10-30 22:00 ` Jim Choate
2002-10-31  2:59 okamoto
2002-10-31  5:18 ` Jim Choate
2002-10-31  4:17 Skip Tavakkolian
2002-10-31 13:58 ` Jim Choate
2002-10-31 18:21   ` Dan Cross
2002-11-01 11:26     ` Boyd Roberts
2002-11-01 20:50       ` Dan Cross
2002-11-01 23:30   ` Roman V. Shaposhnick
2002-10-31  5:15 okamoto
2002-10-31  6:35 ` Jim Choate
2002-10-31  5:26 okamoto
2002-10-31 14:38 Skip Tavakkolian
2002-11-04 18:38 ` Peter Downs
2002-11-05 18:47   ` Dan Cross
2002-11-04 15:15 Skip Tavakkolian
2002-11-04 18:49 Charles Forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.33.0210300801010.15595-100000@einstein.ssz.com \
    --to=ravage@einstein.ssz.com \
    --cc=9fans@cse.psu.edu \
    --cc=hangar18-general@open-forge.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).