

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Struttura dell'evento Lambda@Edge
<a name="lambda-event-structure"></a>

I seguenti argomenti descrivono gli oggetti evento di richiesta e risposta che CloudFront passano a una funzione Lambda @Edge quando viene attivata.

**Topics**
+ [Selezione origine dinamica](#lambda-event-content-based-routing)
+ [Richiedi Eventi](#lambda-event-structure-request)
+ [Eventi di risposta](#lambda-event-structure-response)

## Selezione origine dinamica
<a name="lambda-event-content-based-routing"></a>

Puoi utilizzare il [modello di percorso in un comportamento cache](DownloadDistValuesCacheBehavior.md#DownloadDistValuesPathPattern) per instradare richieste a un'origine, in base al percorso e al nome dell'oggetto richiesto, ad esempio `images/*.jpg`. Utilizzando Lambda@Edge, puoi anche instradare richieste a un'origine in base ad altre caratteristiche, ad esempio i valori nelle intestazioni di richiesta. 

La selezione dinamica dell'origine può risultare utile in vari modi. Ad esempio, puoi distribuire richieste in più origini di aree geografiche differenti per facilitare il bilanciamento del carico globale. Oppure puoi instradare richieste in modo selettivo a diverse origini, ognuna delle quali svolge una funzione particolare: gestione di bot, ottimizzazione di SEO, autenticazione e così via. Per codici di esempio che illustrano come utilizzare questa funzionalità, consulta [Esempi di selezione dinamica dell'origine in funzione del contenuto](lambda-examples.md#lambda-examples-content-based-routing-examples).

Nell'evento CloudFront origin request, l'`origin`oggetto nella struttura degli eventi contiene informazioni sull'origine a cui verrebbe indirizzata la richiesta, in base al modello di percorso. Puoi aggiornare i valori nell'oggetto `origin` dell'origine per instradare una richiesta un'altra origine. Quando si aggiorna l'oggetto `origin`, non è necessario definire l'origine nella distribuzione. È inoltre possibile sostituire un oggetto di origine Amazon S3 con un oggetto di origine personalizzato e viceversa. Tuttavia, è possibile specificare solo una singola origine per richiesta; un'origine personalizzata o un'origine Amazon S3, ma non entrambe.

## Richiedi Eventi
<a name="lambda-event-structure-request"></a>

I seguenti argomenti mostrano la struttura dell'oggetto che CloudFront passa a una funzione Lambda per gli eventi di [richiesta viewer e origin](lambda-cloudfront-trigger-events.md). Questi esempi mostrano una richiesta `GET` senza corpo. Dopo gli esempi è riportato un elenco di tutti i possibili campi negli eventi di richiesta di visualizzazione e origine.

**Topics**
+ [Richiesta visualizzatore di esempio](#example-viewer-request)
+ [Esempio di richiesta di origine](#example-origin-request)
+ [Richiedi campi evento](#request-event-fields)

### Richiesta visualizzatore di esempio
<a name="example-viewer-request"></a>

L'esempio seguente mostra un oggetto evento richiesta visualizzatore.

```
{
  "Records": [
    {
      "cf": {
        "config": {
          "distributionDomainName": "d111111abcdef8.cloudfront.net",
          "distributionId": "EDFDVBD6EXAMPLE",
          "eventType": "viewer-request",
          "requestId": "4TyzHTaYWb1GX1qTfsHhEqV6HUDd_BzoBZnwfnvQc_1oF26ClkoUSEQ=="
        },
        "request": {
          "clientIp": "203.0.113.178",
          "headers": {
            "host": [
              {
                "key": "Host",
                "value": "d111111abcdef8.cloudfront.net"
              }
            ],
            "user-agent": [
              {
                "key": "User-Agent",
                "value": "curl/7.66.0"
              }
            ],
            "accept": [
              {
                "key": "accept",
                "value": "*/*"
              }
            ]
          },
          "method": "GET",
          "querystring": "",
          "uri": "/"
        }
      }
    }
  ]
}
```

### Esempio di richiesta di origine
<a name="example-origin-request"></a>

L'esempio seguente mostra un oggetto evento richiesta origine.

```
{
  "Records": [
    {
      "cf": {
        "config": {
          "distributionDomainName": "d111111abcdef8.cloudfront.net",
          "distributionId": "EDFDVBD6EXAMPLE",
          "eventType": "origin-request",
          "requestId": "4TyzHTaYWb1GX1qTfsHhEqV6HUDd_BzoBZnwfnvQc_1oF26ClkoUSEQ=="
        },
        "request": {
          "clientIp": "203.0.113.178",
          "headers": {
            "x-forwarded-for": [
              {
                "key": "X-Forwarded-For",
                "value": "203.0.113.178"
              }
            ],
            "user-agent": [
              {
                "key": "User-Agent",
                "value": "Amazon CloudFront"
              }
            ],
            "via": [
              {
                "key": "Via",
                "value": "2.0 2afae0d44e2540f472c0635ab62c232b.cloudfront.net (CloudFront)"
              }
            ],
            "host": [
              {
                "key": "Host",
                "value": "example.org"
              }
            ],
            "cache-control": [
              {
                "key": "Cache-Control",
                "value": "no-cache"
              }
            ]
          },
          "method": "GET",
          "origin": {
            "custom": {
              "customHeaders": {},
              "domainName": "example.org",
              "keepaliveTimeout": 5,
              "path": "",
              "port": 443,
              "protocol": "https",
              "readTimeout": 30,
              "responseCompletionTimeout": 30,
              "sslProtocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
              ]
            }
          },
          "querystring": "",
          "uri": "/"
        }
      }
    }
  ]
}
```

### Richiedi campi evento
<a name="request-event-fields"></a>

I dati dell'oggetto evento di richiesta sono contenuti in due sottooggetti: `config` (`Records.cf.config`) e `request` (`Records.cf.request`). I seguenti elenchi descrivono i campi di ciascun oggetto secondario.

#### Campi nell'oggetto config
<a name="request-event-fields-config"></a>

Nella seguente lista sono descritti i campi dell’oggetto `config` (`Records.cf.config`).

**`distributionDomainName` (solo lettura)**  
Il nome di dominio della distribuzione associata alla richiesta.

**`distributionID` (solo lettura)**  
L'ID della distribuzione associata alla richiesta.

**`eventType` (solo lettura)**  
Il tipo di trigger associato alla richiesta: `viewer-request` o `origin-request`.

**`requestId` (solo lettura)**  
Una stringa crittografata che identifica in modo univoco una richiesta. viewer-to-CloudFront Il valore `requestId` è visualizzato anche nei log di accesso di CloudFront come `x-edge-request-id`. Per ulteriori informazioni, consultare [Registri di accesso (registri standard)](AccessLogs.md) e [Campi di file di log](standard-logs-reference.md#BasicDistributionFileFormat).

#### Campi nell'oggetto richiesta
<a name="request-event-fields-request"></a>

Nella seguente lista sono descritti i campi dell’oggetto `request` (`Records.cf.request`).

**`clientIp` (solo lettura)**  
L'indirizzo IP del visualizzatore che ha effettuato la richiesta. Se il visualizzatore ha utilizzato un proxy HTTP o un sistema di bilanciamento del carico per inviare la richiesta, il valore è l'indirizzo IP del proxy o del sistema di bilanciamento del carico.

**intestazioni (lettura/scrittura)**  
Le intestazioni nella richiesta. Tieni presente quanto segue:  
+ Le chiavi nell'oggetto `headers` sono versioni in minuscolo di nomi di intestazione HTTP standard. L'utilizzo di chiavi in minuscolo fornisce accesso ai valori delle intestazioni senza distinzione tra maiuscole e minuscole.
+ Ogni intestazione (ad esempio, `headers["accept"]` o `headers["host"]`) è una matrice di coppie chiave-valore. Per una determinata intestazione, la matrice contiene una coppia chiave-valore per ogni valore nella risposta generata.
+ `key` contiene il nome con distinzione tra maiuscole e minuscole dell’intestazione come appare nella richiesta HTTP; ad esempio `Host`, `User-Agent`, `X-Forwarded-For`, `Cookie` e così via.
+ `value` contiene il valore dell'intestazione come è apparso nella richiesta HTTP.
+ Quando la funzione Lambda aggiunge o modifica le intestazioni di richiesta e non si include il campo di intestazione `key`, Lambda @Edge inserisce automaticamente un'intestazione `key` utilizzando il nome dell'intestazione fornito. Indipendentemente dalla formattazione del nome dell'intestazione, la chiave dell'intestazione automaticamente inserita sarà formattata con iniziale maiuscola per tutte le parti, separate da trattini (-).

  Ad esempio, è possibile aggiungere un'intestazione come quella seguente, senza una chiave dell'intestazione: `key`

  ```
  "user-agent": [
    {
      "value": "ExampleCustomUserAgent/1.X.0"
    }
  ]
  ```

  In questo esempio, Lambda @Edge inserisce automaticamente `"key": "User-Agent"`.
Per informazioni sulle restrizioni di utilizzo delle intestazioni, consulta [Restrizioni sulle funzioni edge](edge-functions-restrictions.md).

**`method` (solo lettura)**  
Metodo HTTP nella richiesta.

**`querystring` (lettura/scrittura)**  
La stringa di query, se presente, nella richiesta. Se la richiesta non include una stringa di query, l’oggetto evento include comunque `querystring` con un valore vuoto. Per ulteriori informazioni sulle stringhe di query, vedi [Memorizzazione nella cache di contenuti basati su parametri delle stringhe di query](QueryStringParameters.md).

**`uri` (lettura/scrittura)**  
Il percorso relativo dell'oggetto richiesto. Se la funzione Lambda modifica il valore `uri`, annotare quanto segue:  
+ Il nuovo valore `uri` deve iniziare con una barra (/).
+ Se una funzione modifica il valore `uri`, l'oggetto richiesto dal visualizzatore viene modificato.
+ Se una funzione modifica il valore `uri`, il comportamento della cache per la richiesta o l'origine a cui la richiesta viene inoltrata *non* viene modificato.

**`body` (lettura/scrittura)**  
Il corpo della richiesta HTTP. La struttura `body` può contenere i seguenti campi:    
**`inputTruncated` (solo lettura)**  
Un flag booleano che indica se l'organismo è stato troncato da Lambda@Edge. Per ulteriori informazioni, consulta [Restrizioni sul corpo della richiesta con l'opzione Includi corpo](lambda-at-edge-function-restrictions.md#lambda-at-edge-restrictions-request-body).  
**`action` (lettura/scrittura)**  
L'operazione che si desidera richiedere con il corpo. Le opzioni per `action` sono le seguenti:  
+ `read-only:` Questa è l'impostazione predefinita. Quando viene restituita la risposta dalla funzione Lambda, se `action` è di sola lettura, Lambda@Edge ignora tutte le modifiche a `encoding` o `data`.
+ `replace:` specificare questo quando si desidera sostituire il corpo inviato all'origine.  
**`encoding` (lettura/scrittura)**  
La codifica per il corpo. Quando Lambda@Edge espone il corpo alla funzione Lambda, converte per prima cosa il corpo nella codifica base64-encoding. Se scegli `replace` per `action` per sostituire il corpo, è possibile decidere se utilizzare la codifica `base64` (questa è l'impostazione predefinita) o `text`. Se specifichi `encoding` come `base64` ma il corpo non è valido in base64, CloudFront restituisce un errore.  
**`data` (lettura/scrittura)**  
I contenuti del corpo della richiesta. 

**`origin` ( lettura/scrittura) (solo eventi di origine)**  
L'origine a cui inviare la richiesta. La struttura `origin` deve contenere *esattamente un’origine*, che può essere un’origine personalizzata o un’origine Amazon S3.  
A seconda del tipo di origine specificato (origini personalizzate o Amazon S3), è necessario specificare i seguenti campi nella richiesta:    
**`customHeaders` ( lettura/scrittura) (origini personalizzate e Amazon S3)**  
(Facoltativo) Puoi includere intestazioni personalizzate con la richiesta specificando un nome di intestazione e una coppia di valori per ogni intestazione personalizzata. Non è possibile aggiungere intestazioni che non sono consentite e in `Records.cf.request.headers` un'intestazione con lo stesso nome non può essere presente. Le [note sulle intestazioni di richiesta](#request-event-fields-request-headers) si applicano anche alle intestazioni personalizzate. Per ulteriori informazioni, consulta [Intestazioni personalizzate che CloudFront non possono essere aggiunte alle richieste di origine](add-origin-custom-headers.md#add-origin-custom-headers-denylist) e [Restrizioni sulle funzioni edge](edge-functions-restrictions.md).  
**`domainName` ( lettura/scrittura) (origini personalizzate e Amazon S3)**  
Il nome di dominio dell'origine. Il nome di dominio non può essere vuoto.  
+ **Per origini personalizzate** - specificare un nome di dominio DNS, ad esempio `www.example.com`. Il nome di dominio non può includere due punti (:) e non può essere un indirizzo IP. Il nome di dominio può contenere fino a 253 caratteri.
+ **Per origini Amazon S3**: specificare il nome di dominio DNS del bucket Amazon S3, ad esempio `amzn-s3-demo-bucket.s3.eu-west-1.amazonaws.com`. Il nome può contenere fino a 128 caratteri e deve essere tutto in minuscolo.  
**`path` ( lettura/scrittura) (origini personalizzate e Amazon S3)**  
Il percorso di directory sul server di origine in cui la richiesta deve trovare il contenuto. Il percorso può iniziare con una barra (/) ma non può terminare con una barra (ad esempio, non può terminare con `example-path/`). Solo per le origini personalizzate, il percorso deve essere codificato con URL e avere una lunghezza massima di 255 caratteri.  
**`keepaliveTimeout` (lettura/scrittura) (solo origini personalizzate)**  
Per quanto tempo, in secondi, si CloudFront dovrebbe cercare di mantenere la connessione all'origine dopo aver ricevuto l'ultimo pacchetto della risposta. Il valore deve essere un numero compreso tra 1 e 120, inclusi.  
**`port` (lettura/scrittura) (solo origini personalizzate)**  
La porta a cui CloudFront deve connettersi all'origine personalizzata. La porta deve essere 80, 443 oppure un numero nell'intervallo 1024-65535, inclusi.  
**`protocol` (lettura/scrittura) (solo origini personalizzate)**  
Il protocollo di connessione da CloudFront utilizzare per la connessione all'origine. Il valore può essere `http` o `https`.  
**`readTimeout` ( lettura/scrittura) (origini personalizzate e Amazon S3)**  
Quanto tempo, in secondi, CloudFront occorre attendere per ricevere una risposta dopo aver inviato una richiesta all'indirizzo di origine. Questo specifica anche quanto tempo CloudFront deve attendere dopo aver ricevuto un pacchetto di una risposta prima di ricevere il pacchetto successivo. Il valore deve essere un numero compreso tra 1 e 120, inclusi.  
Se hai bisogno di una quota maggiore, consulta [Timeout di risposta per origine](cloudfront-limits.md#limits-web-distributions).  
**`responseCompletionTimeout` ( lettura/scrittura) (origini personalizzate e Amazon S3)**  
Il tempo (in secondi) in cui una richiesta dall' CloudFront origine può rimanere aperta e attendere una risposta. Se la risposta completa non viene ricevuta dall'origine entro quest'ora, CloudFront termina la connessione.  
Il valore per `responseCompletionTimeout` deve essere maggiore o uguale al valore per `readTimeout`. Se imposti questo valore su 0, rimuove qualsiasi valore precedente impostato e torna al valore predefinito. Puoi anche ottenere lo stesso risultato eliminando il campo `responseCompletionTimeout` dalla richiesta evento.   
**`sslProtocols` (lettura/scrittura) (solo origini personalizzate)**  
Il SSL/TLS protocollo minimo che CloudFront è possibile utilizzare per stabilire una connessione HTTPS con l'origine. I valori possono essere uno dei seguenti: `TLSv1.2`, `TLSv1.1`, `TLSv1` o `SSLv3`.  
**`authMethod` ( lettura/scrittura) (solo origini Amazon S3)**  
Se stai usando un’[identità di accesso origine (OAI)](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai), imposta questo campo su `origin-access-identity`. Se non stai usando una OAI, impostalo su `none`. Se si imposta `authMethod` su `origin-access-identity`, ci sono diversi requisiti:   
+ È necessario specificare `region` (vedere il seguente campo).
+ È necessario utilizzare lo stesso OAI quando si modifica la richiesta da un'origine Amazon S3 a un'altra.
+ Non è possibile utilizzare una OAI quando si modifica la richiesta da un'origine personalizzata a un'origine Amazon S3.
Questo campo non supporta il [controllo dell'accesso all'origine (OAC)](private-content-restricting-access-to-s3.md).  
**`region` ( lettura/scrittura) (solo origini Amazon S3)**  
La AWS regione del tuo bucket Amazon S3. Questo è necessario solo quando si imposta `authMethod` su `origin-access-identity`.

## Eventi di risposta
<a name="lambda-event-structure-response"></a>

I seguenti argomenti mostrano la struttura dell'oggetto che CloudFront passa a una funzione Lambda per gli eventi di [risposta del visualizzatore e dell'origine](lambda-cloudfront-trigger-events.md). Dopo gli esempi c'è un elenco di tutti i campi possibili in eventi di risposta del visualizzatore e origine.

**Topics**
+ [Esempio di risposta all'origine](#lambda-event-structure-response-origin)
+ [Risposta del visualizzatore di esempio](#lambda-event-structure-response-viewer)
+ [Campi eventi di risposta](#response-event-fields)

### Esempio di risposta all'origine
<a name="lambda-event-structure-response-origin"></a>

L'esempio seguente mostra un oggetto evento risposta origine.

```
{
  "Records": [
    {
      "cf": {
        "config": {
          "distributionDomainName": "d111111abcdef8.cloudfront.net",
          "distributionId": "EDFDVBD6EXAMPLE",
          "eventType": "origin-response",
          "requestId": "4TyzHTaYWb1GX1qTfsHhEqV6HUDd_BzoBZnwfnvQc_1oF26ClkoUSEQ=="
        },
        "request": {
          "clientIp": "203.0.113.178",
          "headers": {
            "x-forwarded-for": [
              {
                "key": "X-Forwarded-For",
                "value": "203.0.113.178"
              }
            ],
            "user-agent": [
              {
                "key": "User-Agent",
                "value": "Amazon CloudFront"
              }
            ],
            "via": [
              {
                "key": "Via",
                "value": "2.0 8f22423015641505b8c857a37450d6c0.cloudfront.net (CloudFront)"
              }
            ],
            "host": [
              {
                "key": "Host",
                "value": "example.org"
              }
            ],
            "cache-control": [
              {
                "key": "Cache-Control",
                "value": "no-cache"
              }
            ]
          },
          "method": "GET",
          "origin": {
            "custom": {
              "customHeaders": {},
              "domainName": "example.org",
              "keepaliveTimeout": 5,
              "path": "",
              "port": 443,
              "protocol": "https",
              "readTimeout": 30,
              "responseCompletionTimeout": 30,
              "sslProtocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
              ]
            }
          },
          "querystring": "",
          "uri": "/"
        },
        "response": {
          "headers": {
            "access-control-allow-credentials": [
              {
                "key": "Access-Control-Allow-Credentials",
                "value": "true"
              }
            ],
            "access-control-allow-origin": [
              {
                "key": "Access-Control-Allow-Origin",
                "value": "*"
              }
            ],
            "date": [
              {
                "key": "Date",
                "value": "Mon, 13 Jan 2020 20:12:38 GMT"
              }
            ],
            "referrer-policy": [
              {
                "key": "Referrer-Policy",
                "value": "no-referrer-when-downgrade"
              }
            ],
            "server": [
              {
                "key": "Server",
                "value": "ExampleCustomOriginServer"
              }
            ],
            "x-content-type-options": [
              {
                "key": "X-Content-Type-Options",
                "value": "nosniff"
              }
            ],
            "x-frame-options": [
              {
                "key": "X-Frame-Options",
                "value": "DENY"
              }
            ],
            "x-xss-protection": [
              {
                "key": "X-XSS-Protection",
                "value": "1; mode=block"
              }
            ],
            "content-type": [
              {
                "key": "Content-Type",
                "value": "text/html; charset=utf-8"
              }
            ],
            "content-length": [
              {
                "key": "Content-Length",
                "value": "9593"
              }
            ]
          },
          "status": "200",
          "statusDescription": "OK"
        }
      }
    }
  ]
}
```

### Risposta del visualizzatore di esempio
<a name="lambda-event-structure-response-viewer"></a>

Nell'esempio seguente viene illustrato un oggetto evento risposta visualizzatore.

```
{
  "Records": [
    {
      "cf": {
        "config": {
          "distributionDomainName": "d111111abcdef8.cloudfront.net",
          "distributionId": "EDFDVBD6EXAMPLE",
          "eventType": "viewer-response",
          "requestId": "4TyzHTaYWb1GX1qTfsHhEqV6HUDd_BzoBZnwfnvQc_1oF26ClkoUSEQ=="
        },
        "request": {
          "clientIp": "203.0.113.178",
          "headers": {
            "host": [
              {
                "key": "Host",
                "value": "d111111abcdef8.cloudfront.net"
              }
            ],
            "user-agent": [
              {
                "key": "User-Agent",
                "value": "curl/7.66.0"
              }
            ],
            "accept": [
              {
                "key": "accept",
                "value": "*/*"
              }
            ]
          },
          "method": "GET",
          "querystring": "",
          "uri": "/"
        },
        "response": {
          "headers": {
            "access-control-allow-credentials": [
              {
                "key": "Access-Control-Allow-Credentials",
                "value": "true"
              }
            ],
            "access-control-allow-origin": [
              {
                "key": "Access-Control-Allow-Origin",
                "value": "*"
              }
            ],
            "date": [
              {
                "key": "Date",
                "value": "Mon, 13 Jan 2020 20:14:56 GMT"
              }
            ],
            "referrer-policy": [
              {
                "key": "Referrer-Policy",
                "value": "no-referrer-when-downgrade"
              }
            ],
            "server": [
              {
                "key": "Server",
                "value": "ExampleCustomOriginServer"
              }
            ],
            "x-content-type-options": [
              {
                "key": "X-Content-Type-Options",
                "value": "nosniff"
              }
            ],
            "x-frame-options": [
              {
                "key": "X-Frame-Options",
                "value": "DENY"
              }
            ],
            "x-xss-protection": [
              {
                "key": "X-XSS-Protection",
                "value": "1; mode=block"
              }
            ],
            "age": [
              {
                "key": "Age",
                "value": "2402"
              }
            ],
            "content-type": [
              {
                "key": "Content-Type",
                "value": "text/html; charset=utf-8"
              }
            ],
            "content-length": [
              {
                "key": "Content-Length",
                "value": "9593"
              }
            ]
          },
          "status": "200",
          "statusDescription": "OK"
        }
      }
    }
  ]
}
```

### Campi eventi di risposta
<a name="response-event-fields"></a>

I dati dell'oggetto evento risposta sono contenuti in tre sottooggetti: `config` 8`Records.cf.config`), `request` (`Records.cf.request`) e `response` (`Records.cf.response`). Per ulteriori informazioni sui campi dell'oggetto richiesta, vedere [Campi nell'oggetto richiesta](#request-event-fields-request). Gli elenchi seguenti descrivono i campi nei sottooggetti `config` e `response`.

#### Campi nell'oggetto config
<a name="response-event-fields-config"></a>

Nella seguente lista sono descritti i campi dell’oggetto `config` (`Records.cf.config`).

**`distributionDomainName` (solo lettura)**  
Il nome di dominio della distribuzione associata alla risposta.

**`distributionID` (solo lettura)**  
L'ID della distribuzione associata alla risposta.

**`eventType` (solo lettura)**  
Il tipo di trigger associato alla risposta: `origin-response` o `viewer-response`.

**`requestId` (solo lettura)**  
Una stringa crittografata che identifica in modo univoco la viewer-to-CloudFront richiesta a cui è associata questa risposta. Il `requestId` valore appare anche nei registri di CloudFront accesso come. `x-edge-request-id` Per ulteriori informazioni, consultare [Registri di accesso (registri standard)](AccessLogs.md) e [Campi di file di log](standard-logs-reference.md#BasicDistributionFileFormat).

#### Campi nell'oggetto risposta
<a name="response-event-fields-response"></a>

Nella seguente lista sono descritti i campi dell’oggetto `response` (`Records.cf.response`). Per informazioni sull'utilizzo di una funzione Lambda @Edge per generare una risposta HTTP, vedere [Generazione di risposte HTTP in trigger di richiesta](lambda-generating-http-responses.md#lambda-generating-http-responses-in-requests).

**`headers` (lettura/scrittura)**  
Le intestazioni nella risposta. Tieni presente quanto segue:  
+ Le chiavi nell'oggetto `headers` sono versioni in minuscolo di nomi di intestazione HTTP standard. L'utilizzo di chiavi in minuscolo fornisce accesso ai valori delle intestazioni senza distinzione tra maiuscole e minuscole.
+ Ogni intestazione (ad esempio, `headers["content-type"]` o `headers["content-length"]`) è una matrice di coppie chiave-valore. Per una determinata intestazione, la matrice contiene una coppia chiave-valore per ogni valore nella risposta generata.
+ `key` contiene il nome con distinzione tra maiuscole e minuscole dell’intestazione come appare nella risposta HTTP; ad esempio `Content-Type`, `Content-Length`, `Cookie` e così via.
+ `value` contiene il valore dell'intestazione come appare nella risposta HTTP.
+ Quando la funzione Lambda aggiunge o modifica le intestazioni di risposta e non si include il campo di intestazione `key`, Lambda @Edge inserisce automaticamente un'intestazione `key` utilizzando il nome dell'intestazione fornito. Indipendentemente dalla formattazione del nome dell'intestazione, la chiave dell'intestazione automaticamente inserita sarà formattata con iniziale maiuscola per tutte le parti, separate da trattini (-).

  Ad esempio, è possibile aggiungere un'intestazione come quella seguente, senza una chiave dell'intestazione: `key`

  ```
  "content-type": [
    {
      "value": "text/html;charset=UTF-8"
    }
  ]
  ```

  In questo esempio, Lambda @Edge inserisce automaticamente `"key": "Content-Type"`.
Per informazioni sulle restrizioni di utilizzo delle intestazioni, consulta [Restrizioni sulle funzioni edge](edge-functions-restrictions.md).

**`status`**  
Il codice di stato HTTP per la risposta.

**`statusDescription`**  
Descrizione dello stato HTTP della risposta.