url schema for Opera Dragonfly urls

There are two main entry paths, /app and /app/cutting-edge. If the core version in the user agent string does not fit the current protocol in the default repository, the user agent is redirect to the correct location. For each existing protocol ( which actually maps to a core version ) there is also a direct path without any redirects, e.g. /app/core-2-1 and /app/core-2-1/cutting-edge.

If Dragonfly is loaded and the protocol announced by the host does not fit the current one, Dragonfly loads a list from the server with available version and tries to load the appropriate one. This is mainly the fall-back mechanism for all kind of devices with not up to date core versions.

Each path will also contain a ./logs and ./zips path, e.g. /app/logs, /app/zips and /app/cutting-edge/zips, /app/cutting-edges/logs respectively.

Tabular overview

core version x - n x x + n
default path loaded dynamically /app redirected to /app/<core-version>
cutting edge path loaded dynamically /app/cutting-edge redirected to /app/<core-version>/cutting-edge
state default path stable stable snapshot - weekly
state cutting edge path stable weekly - stable snapshot

loaded dynamically means that the protocol version announced by the host will always be checked. If needed an appropriate DF version will be loaded.

redirected to means that we will do user agent sniffing on the server ( for Presto/x.x. ) If the core version is higher then the current default one we will redirect to /app/core-x-x or /app/core-x-x/cutting-edge respectively.