hi,

I am wondering what you think about the capabilities of 9p compared to
http/1.1.  Perhaps this seems like an odd comparison, but I think 9p and http
are broadly similar in purpose and functionality.  While writing a simple
webserver, I got to thinking that http is really a very capable protocol.

http is text-based, it supports pipelining and arbitraty metadata.  As far as I
know, 9p does not support pipelining nor arbitraty metadata.  It seems to me
that these are big advantages for http.  9p supports walking; are there other
things 9p can do which http cannot, which give 9p a significant advantage?

Am I correct, that 9p does not support pipelining?  I suppose this would be a
big problem.  For example, with http pipelining one may ask a server to HEAD
(like stat) 10,000 files together, without having to wait for the responses.
Over a high latency link (e.g. Australia -> USA), this might save perhaps an
hour of waiting.

Such an asyncronous interface might be useful even when accessing local disks -
if the filesystem receives 100 open/read/stat requests bundled together, it
might optimise disk access to minimise seeking, as is commonly done for writes.

By the way, I read the other day on this list that there is no need to improve
cat(1).  Well for me, I still feel that the command `cat` without args should
concatenate 0 files (producing no output), not copy stdin to stdout!


Sam


Reply via email to