Profiles provide the option to differentiate settings used by Smart Clients.

This functionality can be use to deal with Smart Clients connecting to the server from behind different types of firewalls and/or proxies, which would require different settings.

Each profile has a name and by adding the name of the profile to the URL that Smart Client use to connect to the Application Server, settings provided in the Profile overrule the default settings and/or settings provided in the URL itself.

The profile part of the URL is only relevant for the launch of the Smart Client. When deeplinking into running Smart Clients the profile can be omitted from the deeplink URL
{code:title=Deeplink into specific solution using a named Profile}\{serverUrl}/servoy-client/{profileName}/{solutionName}.jnlp{code}

For more info on all possible options for Smart Clients URL's, see [Starting Smart Clients|Smart Client#Starting Smart Clients]

A profile can contain one or more settings. There are two basic types of settings:

# Deeplink settings
# Configuration settings

*Deeplink settings*
Through profiles it's possible to specify startup arguments and/or a deeplink method, by adding one of the following properties:
* solution={solutionName}
* method={globalMethodName}
* argument={}
* {someParam}={someValue}

For the solution, method and argument settings, it's also possible to use the short syntax (resp. s, m and a).

*Configuration settings*
Configuration properties are properties that start with "system.property.". Any property that starts with this will be send to the launched Smart Client. This can be either standard Java system properties or Servoy specific system properties, including Tunnel configuration properties.

_Java system properties_
Any system property that Java has can be added to the Profile. Whether or not the property has any relevancy depends on the property. 

_Servoy configuration properties_
There are two Servoy specific system properties that can be used within a Profile: 
* system.property.servoy.usejaas: include and set to true for Kerebos support
* system.property.SocketFactory.tunnelConnectionMode: specifies the tunnel connection mode, either "http" or "socket".
For this setting to have effect, the SocketFactory.tunnelConnectionMode setting under Network Settings on the Admin page needs to be set to "http&socket"
_Tunnel configuration properties_
The Tunnel has an extensive set of configuration options to allow optimal operation for any combination of firewalls and proxies. More information on the configuration options for the tunnel can be found [here|DOCS:Tunnel configuration].