[Zope-dev] ZServer should redirect for folder objects?

Tino Wildenhain tino@wildenhain.de
Thu, 26 Jul 2001 09:02:20 +0200


Hi,

--On Mittwoch, 25. Juli 2001 18:15 -0400 John Lim <zope@mail.jleh.com> 
wrote:

> At 11:44 PM 7/25/2001, Christian Scholz wrote:
>
>  > > Apache may do this, but I did not see a clause in the HTTP spec
>  > > that would require this behaviour.
>
> Yup, I noticed that too while looking in the HTTP RFCs. I was trying to
> see  what is "right behavior" but apparently there's no "fixed" answer.

Sure, becauce this is only common behavior of Apache, not caused by any
standard.

> However, what about the Content-Location: header that ZServer returns?
> Minor issue (not sure if it even makes a difference), but shouldn't
> ZServer  either use the Location: header if it returns "HTTP/1.0", or use
> Content-Location: but return "HTTP/1.1"?
>
>  > For Caches it might also be good as otherwise both objects might
>  > count as two different objects.. That's why apache is doing it, I
> think.

Its also because of relative references to work. Apache does not have
acquisition :-)
Normally, with a carefull designed site, there is no problem with
redirects. Nobody should link to folder-urls without trailing slash.
Unfortunately someone came to this idea instead of forcing the lerning
curve. The result is people never know the importance and meaning of
the / in URLs. (Even with redirect since it costs!)

> That makes sense.
>
>  > > Zope does not do it, but sets a "base" tag.
>  >
>  > which prevents from mirroring the site in some cases.. at least it
>  > used to be..  but that's another story.. ;-)
>
> You hit the nail right on the head :) The reason this problem was
> encountered was because the webmaster of the site I'm working for uses
> wget  to slurp the entire Zope site. We use Zope as a developmental
> server, from  which wget creates a "mirror" loaded onto the production
> server.

Why do people always mirror? I dont see the advantage in it. If you think
about caching, you will see you dont need mirroring at all but can 
transparently
influence which element is complete dynamic and which is somewhat static
by sending different expires: header. At least squid can be configured
to not let people force reload from outside.

Regards
Tino