Re: Perl 5 Classes for the Web (CGI and libwww)

Martijn Koster (m.koster@nexor.co.uk)
Wed, 15 Mar 1995 15:32:46 +0000


> There is a very clear design difference between a Web client and an
> HTTP server.  A client does not want the same stuff that a server needs,
> and vice versa.  

But both can share bits where possible.

> Similarly, there is a very clear difference between a
> newsreader (NNTP client) and a Web client with an interface to NNTP.

> Since that cannot be done in practice, it is reasonable to have
> 
>      WWW::http
>      WWW::ftp
>      WWW::gopher
>      WWW::wais
>      WWW::nntp
>      WWW::news
> 
> These interfaces may use some other base class to do the real work --
> their purpose is to provide a consistant client interface, just as the
> real WWW does, to those other protocols.
> 
> The perl4 libwww-perl is only a client-side library,

Absolutely, and the perl5'ifying I've been doing has the same
philosophy.

But Tim is right in saying WWW::* is getting crowded. There may be
more to WWW::* than a consistent client-side interface to protocols,
so maybe the client-side interface should sit deeper down, like
WWW::ClientInterface::HTTP.pm or something? That way others could
decide that an CGI/HTML /whatever modules should also sit below WWW.


-- Martijn
__________
Internet: m.koster@nexor.co.uk
X-400: C=GB; A= ; P=Nexor; O=Nexor; S=koster; I=M
X-500: c=GB@o=NEXOR Ltd@cn=Martijn Koster
WWW: http://web.nexor.co.uk/mak/mak.html