PORTLET
The URL of type PORTLRET does not need to contain the
current state of the page, but the current render parameters, portlet
mode, or window state of the portlet must be accessible to the portlet.

FULL

The URL of type FULL does not need to contain the current
state of the page or the current render parameters, portlet mode, or
window state of the portlet. Thus the portlet may not be able to
access the portlet mode, window state, or render parameters in the
serveResource call.

Only URLs of the type FULL are allowed in the response.
The same restriction is true for all downstream URLs that result from
this response call. Attempts to create URLs that are not of type
FULL will result in an IllegalStateException.

URLs of the type FULL have the highest cacheability in the
browser as they do not depend on any state of the portlet or page.

PORTLET

The URL of type PORTLRET does not need to contain the
current state of the page, but the current render parameters, portlet
mode, or window state of the portlet must be accessible to the portlet.

Only URLs of the type PORTLET or FULL are
allowed in the response. The same restriction
is true for all downstream URLs that result from this response.
Attempts to create URLs that are not of type
PORTLET or FULL will result in an
IllegalStateException.

URLs of the type PORTLET are cacheable on the portlet
level in the browser and can be served from the browser cache for as long
as the state of this portlet does not change.

setCacheability

Note that if this URL is created inside a
serveResource call it must have
at minimum the same cacheablity, or a more
restrictive one, as the parent resource URL,
otherwise an IllegalStateException is thrown.

The default cache level of a resource URL is either the cache level of the
parent resource URL, or PAGE if no parent resource URL is
available.