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