[Zope] Zope URLS (was re: WebObjects)

Chris Withers chrisw@nipltd.com
Thu, 08 Jun 2000 10:15:10 +0100


Gregor Hoffleit wrote:
> Regarding wget:
> 
> AFAICS, the problem is that traditionally in a static web server, if you try
> to access a URL like 'http://host/xyz' (without trailing slash), the server
> will return you an error '301 Moved permanently' and will point you to the
> new location 'http://host/xyz/'. Zope instead (if 'xyz' is a folder and
> there's a document 'xyz/index_html') immediately returns the rendered
> index_html if you request 'http://host/xyz'.
> 
> Now whenever the 301 to the URL with a trailing slash happens, wget takes
> this as a hint that this path must have been a directory, and saves the
> result as index.html. With Zope, wget doesn't get this hint.
> 
> Reading this again, I wonder if this qualifies as a bug in Zope, or is there
> a good reason for this behavior ?

It's not so much a bug as a complication caused by the fact that Zope
isn't a filesystem server, but an orb presented through the web (correct
me if I'm slightly out ;-)

For example http://host/x/y/z

Could be:
-A container object z (which should have a / after it?)
-A dtml-document in folder /x/y/
-The result of executing the z method on the y object in the /x/ folder.
-The result of executing the z method on the result of executing the y
method on the x object in the root folder.

I'm sure acquisition adds some more options/confusions to this... ;-)

So, that's the problem, I don't know what the solution is :(

I do think there must be a better way than Zope's kludgey BASE tag
thing.
Maybe all Zope URLs should end in a / ?

Quite radical, but maybe the most sensible and least confusing? :/

cheers,

Chris