cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vadim Gritsenko <va...@reverycodes.com>
Subject Re: Pros and cons of extension less requests (was Re: Url without extensions - how to match/rewrite)
Date Mon, 10 Dec 2007 15:00:48 GMT
On Dec 10, 2007, at 3:40 AM, Thorsten Scherler wrote:

> I ended up with:
>
> <!-- This will match all extension less requests -->
>      <map:match type="regexp" pattern="^[^.]+$">
>        <!-- This will match all requests having "/" on the end -->
>        <map:match type="regexp" pattern="^(.*)/$">
>          <map:match pattern="*/">
>            <map:redirect-to uri="../{1}.html" />

This is a browser redirect, so user will ultimately see .../foo.html  
URL in the browser. In this case, why would you start with a URL  
without extension? I does not make any sense. Just use URL with  
extension from the beginning.


>          </map:match>
>          <map:match pattern="**/*/">
>            <map:redirect-to uri="../{2}.html" />
>          </map:match>
>        </map:match>
>        <map:match pattern="**/*">
>          <map:redirect-to uri="{2}.html" />
>        </map:match>
>        <map:match pattern="*">
>          <map:redirect-to uri="{1}.html" />
>        </map:match>
>      </map:match>

Regardless of comment above, what you got here is too verbose, you can  
DRY it down using smarter match pattern. For example:

   <map:match pattern="^(?:[^.\/]*\/)*([^.\/]+)\/$">
     <map:redirect-to uri="../{1}.html"/>
   </map:match>
   <map:match pattern="^(?:[^.\/]*\/)*([^.\/]+)$">
     <map:redirect-to uri="{1}.html"/>
   </map:match>


> One side effect is that the app is now way slower if you use
> "extensionless requests". In our application we need the extensions to
> trigger the correct pipelines, which I consider the normal usage of
> cocoon. By redirecting the request one is causing more processing on  
> the
> app which explains the higher response time.

You probably mean "more round trips". I don't see any extra processing  
on the app.

Vadim


> That makes me wonder whether extension less requests makes sense at  
> all
> in a multi-output-format environment.
>
> WDYT?
>
> salu2
> -- 
> Thorsten Scherler                                  
> thorsten.at.apache.org
> Open Source Java                      consulting, training and  
> solutions


Mime
View raw message