- From: <ping@lfw.org>
- Date: Sat, 28 Aug 1999 23:25:51 -0700 (PDT)
- To: Adrian Heilbut <adrian.heilbut@utoronto.ca>
- cc: www-annotation@w3.org
On Fri, 27 Aug 1999, Adrian Heilbut wrote: > > On proxies vs. mediators: (partly to see if my understanding is correct...) > > A mediator is a more abstract concept than a proxy. Uh, no. I think you are confusing the term "mediator" with a more general definition of "anything that alters the presentation of a Web page". A mediator and a proxy are both implementation mechanisms. They both have a similar structure: some entity -- whether it be on the client machine, the server machine, or a different third-party machine -- sits between the client and the server, forwarding requests from the client to the server and forwarding responses from the server to the client. The difference is in what they are expected to do. From the client's perspective, a proxy is expected to stand in place of the original server as much as possible. It is relied upon to produce exactly the same information that the client would have received directly from the server. A mediator is expected to do some processing on the information, whatever it may be. Hopefully it will do something useful. (My first mediator, a pig-latin mediator, and several other early mediators, did not. But they were fun.) A mediator is not required to produce the original page. The distinction parallels the non-technical meanings of the words "proxy" and "mediator". For example, a mediator that translates everything from English to Swahili might be useful in some situations. But it wouldn't do much good to send that person to vote at a meeting as your proxy! > A proxy is any software that supports the http proxy protocols. Okay, so now there is also this matter of the term "HTTP proxy". Indeed, as you say, HTTP defines a standard way for clients and proxies to talk to each other, very similar to the normal way a client would talk to a server. But, these protocols are designed to preserve the integrity of the information all the way through a possibly long chain of proxies. I am trying to keep the terminology straight so that "proxy" and "HTTP proxy" both live in the same space of meaning: their purpose and their mandate is to mimic transparently. > Local just means that it runs on the same machine as a browser. Yes. I suppose that, for "remote", you could make the additional distinction of whether it runs on the same machine as the server or not. Perhaps you could say "server-based" vs. "third-party". > If an annotation system is going look like a proxy as far as > the browser is concerned, it remains a proxy, even if it mediates > by modifying the data passing through. No! (Sorry for getting excited, but definitely no!) If it modifies the data, it can't be a proxy. It could pretend to be a proxy by using the HTTP proxy protocols, but it would in effect be lying. I very much want to avoid calling such impostors proxies. HTTP proxies should be proxies. HTTP proxies should not be mediators: if you're going to implement a mediator, you should do it some other way, somehow. > Muffin, by this definition, is a local proxy. Thirdvoice is not. Both, > however, are local mediators. So, ThirdVoice is not a mediator; and from your description i would say that Muffin is an HTTP proxy implementation which permits you to make it do the job of a mediator while masquerading as a proxy. > Crit, a mediator, is not a proxy, but it could be modified to be a "mediating > remote proxy", which would eliminate the funny URLs. Yes, it could be modified in such a way, but it shouldn't. > There is not going to be a single optimal implementation. A remote mediator > might well be the optimal solution to annotating pages on a handheld device, > for example. Indeed. That's a good example. > Proxy implementations suffer from the limitations of a web > interface, so the slickest software might well be a "client helper" like > Thirdvoice, or code integrated in Mozilla. Yes, quite right. -- ?!ng I never dreamt that i would get to be The creature that i always meant to be But i thought, in spite of dreams, You'd be sitting somewhere here with me.
Received on Sunday, 29 August 1999 02:29:51 UTC