HTTP-Related Functions in the Request and Session Modules
This article describes the functions for handling HTTP session parameters and variables.
Introduction
The request module (in the http://exist-db.org/xquery/request
            function namespace) contains functions for handling HTTP request parameters. The session
            module (in the http://exist-db.org/xquery/session function namespace)
            contains functions for handling HTTP session variables. Functions in these namespaces
            are only usable if the query is executed through the XQueryGenerator or the
            XQueryServlet.
Available functions
- request:get-parameter(name, default value)
- 
                                        This HTTP function expects two arguments: the first denotes the name of the parameter, the second specifies a default value, which is returned if the parameter is not set. This function returns a sequence containing the values for the parameter. 
- request:get-uri()
- 
                                        This function returns the URI of the current request. To encode this URI using the current session identifier, use the following function: session:encode-url(request:get-uri()) 
- session:create()
- 
                                        This function creates a new HTTP session if none exists. 
Other session functions read and set session attributes, among other operations. For example, an XQuery or Java object value can be stored in a session attribute, to cache query results.