Administer > Dynamic caching > Prepare to use caching in WebSphere Commerce
Allow access to encrypted parameters
Cache identifiers are based on non confidential information such as...
- store
- language
- catalog
- category
- product identifiers
These identifiers are typically encrypted in the URL. If the parameters are encrypted, a cache miss would result due to missing parameters for the cache ID. Therefore, in order to use these identifiers they must be made visible in the URL first. After these parameters are specified in the WebSphere Commerce configuration file for NonEncryptedParameters then a cache hit would result because they are now visible.
To exclude parameters from being encrypted in the URL they must be specified in the wc-server.xml file as NonEncryptedParameters.
Procedure
- Open the WebSphere Commerce configuration file.
- Add the following sample section (you can include more or less parameters as needed) below the <ProtectedParameters> section in the xml file:
<NonEncryptedParameters display="false"> <Parameter name="storeId"/> <Parameter name="langId"/> <Parameter name="catalogId"/> <Parameter name="categoryId"/> <Parameter name="productId"/> </NonEncryptedParameters>
- Deploy the changes to the WebSphere Commerce configuration file
- Restart the WebSphere Commerce Server.
Example
The following example shows how allowing access to encrypted parameters helps caching:Cache miss
The encrypted parameters storeId and catalogId are not visible on the URL. If the parameters are encrypted then a cache miss results due to missing parameters storeId and catalogId for the cache ID.
https://node/webapp/wcs/stores/servlet/StoreCatalogDisplay?krypto=2FRi8hYpvrkCLbsAkWS8m3EnZw%3D%3D&ddkey=Logon
Cache hit
After setting up the NonEncryptedParameters, the parameters are now visible in the URL.
https://node/webapp/wcs/stores/servlet/StoreCatalogDisplay?storeId=10051&catalogId=10101&krypto=0AIGf9hMonFO%3D%3D&ddkey=Logon