---
title: "Content Delivery (CD)"
slug: "content-delivery--cd-"
abstract: "Overview of Sitecore Content Delivery supported infrastructure, references, scaling, and privacy and security."
---
# Content Delivery (CD)

The Content Delivery (CD) role handles requests from visitors across channels, determines which content to serve, and renders output in the relevant format for the channel.

You can configure one or more content delivery servers for improved scalability and better performance. If you expect to have high numbers of visitors or want to configure servers in different geographic locations, you can arrange content delivery servers into clusters.

## Supported infrastructure

You can host the CD role on:

- IIS
- [Azure App Service](https://azure.microsoft.com/en-us/services/app-service/)

Refer to the [Sitecore compatibility table](https://kb.sitecore.net/articles/087164) for compatible versions.

## Reference structure

The CD role has its place in the Sitecore reference structure. It can be referenced by other roles, and it can also reference other roles.

![Illustration showing the Content Delivery role's place in the Sitecore reference structure.](https://doc.sitecore.com/api/markdown-image/xp/en/developers/91/platform-administration-and-architecture/images/content-delivery-91.PNG)

### Referenced by

The CD role is not referenced by other roles.

### References

The CD role references the following roles:

#### Storage roles

| Role name | Connection string name | Port | Type | Notes |
| --- | --- | --- | --- | --- |
| [Security database](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/security-database.html) | security | 1433 | SQL | Optional. Federated authentication is recommended if you have multiple CD clusters. |
| [Web database](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/web-database.html) | web | 1433 | SQL |  |
| [Forms database](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/forms-database.html) | experienceforms | 1433 | SQL |  |
| [Message Bus](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/message-bus.html) | messaging | 1433 | SQL<br><br>[empty] | If you install Sitecore using SIF, SQL is the default provider. Not applicable to Experience Manager. |
| [Private Session State Store](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/private-session-state-store.html) | session | 1433 | SQL | Optional, for SQL session state provider |
|  |  | 6379 | HTTP | Optional, for Redis session state provider |
| [Shared Session State Store](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/shared-session-state-store.html) | sharedsession | 1433 | SQL | Optional, for SQL session state provider |
|  |  | 6379 | HTTP | Optional, for Redis session state provider |

> [!note]
> The Core database is not referenced by the Content Delivery role in Sitecore 9.1 and later.

#### Application roles

| Role name | Connection string name | Default Port | Type | Notes |
| --- | --- | --- | --- | --- |
| [xConnect Collection service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/xconnect-collection-service.html) | xconnect.collection |  | HTTPS |  |
| [Reference Data service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/reference-data-service.html) | xdb.referencedata.client |  | HTTPS |  |
| [Marketing Automation Operations service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/marketing-automation-operations-service.html) | xdb.marketingautomation.operations.client |  | HTTPS | Generally the same as reporting, unless you split the operations and reporting roles. Used to trigger live events. |
| [Shops](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/shops.html) |  | 5000 | HTTPS | Configured in the /sitecore/commerceEngineConfiguration/shopsServiceUrl config element |

The following client certificates and keys are required in a secure production environment:

| Used for, role | Connection string name | Type | Notes |
| --- | --- | --- | --- |
| [xConnect Collection service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/xconnect-collection-service.html) | xconnect.collection.certificate | Certificate |  |
| [Reference Data service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/reference-data-service.html) | xdb.referencedata.client.certificate | Certificate |  |
| [Marketing Automation Operations service](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/marketing-automation-operations-service.html) | xdb.marketingautomation.operations.client.certificate | Certificate |  |
| [Shops](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/shops.html) | N/A | Certificate | Configured in the /sitecore/commerceEngineConfiguration/certificateThumbprint config element |
| [EXM Dispatch](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/exm-dispatch.html) | EXM.CryptographicKey | Key | Must match keys on EXM Dispatch and Content Management. |
| [EXM Dispatch](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/exm-dispatch.html) | EXM.AuthenticationKey | Key | Must match keys on EXM Dispatch and Content Management. |

#### Search indexes

> [!note]
> The Content Search provider determines how the CD role connects to the indexes. Sitecore supports Azure Search, Solr and Lucene.

Lucene is recommended for developer environments only. Not recommended or supported in a production environment.

| Index | Port, Solr | Port, Azure Search | Type | Notes |
| --- | --- | --- | --- | --- |
| [Web index](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/web-index.html) | 8983 | 443 | HTTPS |  |
| [FXM Web index](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/fxm-web-index.html) | 8983 | 443 | HTTPS | Only for XP installations |
| [Web Marketing Definitions index](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/web-marketing-definitions-index.html) | 8983 | 443 | HTTPS |  |
| [Web Marketing Assets index](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/web-marketing-assets-index.html) | 8983 | 443 | HTTPS |  |

For more information, see:

- [Choosing the right search provider](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/configure-a-search-and-indexing-provider.html "Configure a search and indexing provider")
- [Configure Azure Search provider](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/walkthrough--configure-azure-cognitive-search.html "Walkthrough: Configure Azure Cognitive Search")
- [Configure Solr provider](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/walkthrough--setting-up-solr.html "Walkthrough: Setting up Solr")

#### Cloud Services

| Role Name | Port | Type | Endpoint URL |
| --- | --- | --- | --- |
| [IP Geolocation](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/ip-geolocation.html) | 443 | HTTPS | geoip-ces.cloud.sitecore.net |
| [Device Detection](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/device-detection.html) | 443 | HTTPS | devicedetection-ces.cloud.sitecore.net |

For more information, see:

- [Setting up IP Geolocation](https://doc.sitecore.com/xp/en/developers/91/sitecore-experience-manager/en/set-up-sitecore-ip-geolocation.html)
- [Configure Device Detection](https://doc.sitecore.com/xp/en/developers/91/sitecore-experience-manager/en/configure-sitecore-device-detection.html)

#### Other

The Content Delivery role includes a reference to the Package Management Service via the `PackageManagementServiceUrl` connection string.

## Privacy and security

The CD role handles personal data in the following ways:

- Reads and utilizes the contact information from the Sitecore Experience Database.
- Handles user logins (for example, via federated authentication).
- Data submission (for example, via Experience Forms).
- Has access to session state data, which includes the following:
    - A configurable list of contact facets.
    - Any known identifier passed into the `IdentifyAs()` method.

Refer to the [Security Guide](https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/securing-experience-manager.html "Securing Experience Manager") for steps to secure the CD role.