About
The public navigation mechanism in Apex.
Articles Related
Definition
A public navigation means that:
- the user is a public user (not authenticated),
- the target page is a public page in the current application
This prerequisites are mandatory for the zero session ID feature.
Session
A public session in Apex is given by the the zero session ID feature. It means that the session id is set to zero (ie the single digit 0).
For example: where you might normally code the link to page 2 as
f?p=&APP_ID.:2:&APP_SESSION,
you would code
f?p=&APP_ID.:2:0.
When you request a page with such an Apex URL, the Application Express engine assigns a new session ID and sends a session cookie containing this new session ID to your browser. This first URL starts the zero session ID mechanism
All further generated links to public pages contain 0 for the session ID and all branches to public pages have new URLs that use 0 as the visible session ID. Behind the scenes, however, the Application Express engine uses the session ID in the cookie as the actual session ID to locate session state.
By hiding the session ID, you:
- hide the actual session ID from search engines.
By calling the Oracle Apex - URL you ensure that the session ID is set to zero.
APEX_UTIL.PREPARE_URL(p_url => 'f?p=' || :APP_ID || ':10:'|| :APP_SESSION ||'::NO::P10_ITEM:ABC');