ID regione
Il REGION_ID è un codice abbreviato che Google assegna
in base alla regione selezionata quando crei l'app. Il codice non
corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare
simili ai codici di paesi e province di uso comune. Per le app create dopo
febbraio 2020, REGION_ID.r è incluso negli
URL App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Utilizza questa pagina di riferimento per informazioni dettagliate sulle intestazioni HTTP supportate e sui limiti di richieste e risposte in App Engine. Per capire come App Engine riceve le richieste e invia le risposte, consulta la sezione Gestione delle richieste.
Intestazioni delle richieste
Una richiesta HTTP in entrata include le intestazioni HTTP inviate dal client. Per motivi di sicurezza, alcune intestazioni vengono sanificate, modificate o rimosse dai proxy intermedi prima di raggiungere l'applicazione.
Intestazioni rimosse dalle richieste in entrata
Le seguenti intestazioni vengono rimosse dalle richieste in entrata se un client le invia:
Intestazioni con nomi che corrispondono al pattern
X-Google-*. Questo pattern di nome è riservato a Google.Intestazioni con nomi che corrispondono alle intestazioni specifiche di App Engine. Vengono rimosse solo le corrispondenze esatte e non sensibili alle maiuscole. Ad esempio, le intestazioni denominate
X-Appengine-CountryoX-AppEngine-Countryverranno rimosse, maX-Appengine-Cntryno.
Accept-EncodingConnectionKeep-AliveProxy-AuthorizationTETrailerTransfer-Encoding
Ad esempio, il server potrebbe inviare automaticamente una risposta compressa con gzip a seconda
del valore dell'intestazione della richiesta Accept-Encoding. L'applicazione stessa non deve sapere quali codifiche dei contenuti può accettare il client.
Intestazioni specifiche di App Engine
Come servizio per l'app, App Engine aggiunge le seguenti intestazioni a tutte le richieste:
X-Appengine-Country- Il paese di origine della richiesta, come codice paese ISO 3166-1
alpha-2.
App Engine determina questo codice dall'indirizzo IP del client. Tieni presente che
le informazioni sul paese non vengono estratte dal database WHOIS; è possibile
che un indirizzo IP con informazioni sul paese nel database WHOIS non abbia
informazioni sul paese nell'intestazione
X-Appengine-Country. La tua applicazione deve gestire il codice paese specialeZZ(paese sconosciuto). X-Appengine-Region- Nome della regione da cui ha avuto origine la richiesta. Questo valore ha senso solo nel contesto del paese in
X -Appengine-Country. Ad esempio, se il paese è "US" e la regione è "ca", "ca" indica "California", non Canada. L'elenco completo dei valori di regione validi è disponibile nello standard ISO-3166-2. X-Appengine-City- Nome della città da cui ha avuto origine la richiesta. Ad esempio, una richiesta
della città di Mountain View potrebbe avere il valore di intestazione
mountain view. Non esiste un elenco canonico di valori validi per questa intestazione. Se la città non può essere risolta, il valore dell'intestazione è impostato su?. X-Appengine-CityLatLong- Latitudine e longitudine della città da cui ha avuto origine la richiesta. Questa
stringa potrebbe essere "37.386051,-122.083851" per una richiesta da Mountain View.
Se non è possibile risolvere la città, il valore dell'intestazione viene impostato su
0.000000,0.000000. X-Cloud-Trace-Context- Un identificatore univoco per la richiesta utilizzato per Cloud Trace e Cloud Logging. Non è disponibile un'opzione per disattivare questa intestazione o scegliere la frequenza di campionamento per la tracciatura, poiché tutte le app dell'ambiente standard di App Engine vengono tracciate automaticamente.
X-Forwarded-For: [CLIENT_IP(s)], [global forwarding rule IP]Un elenco delimitato da virgole di indirizzi IP attraverso i quali è stata instradata la richiesta del client. Il primo IP di questo elenco è in genere l'IP del client che ha creato la richiesta. Gli IP successivi forniscono informazioni sui server proxy che hanno gestito la richiesta prima che raggiungesse il server delle applicazioni. Ad esempio:
X-Forwarded-For: clientIp, proxy1Ip, proxy2IpX-Forwarded-Proto [http | https]Mostra
httpohttpsin base al protocollo utilizzato dal client per connettersi alla tua applicazione.Il bilanciatore del carico Google Cloud termina tutte le connessioni
httpse poi inoltra il traffico alle istanze App Engine tramitehttp. Ad esempio, se un utente richiede l'accesso al tuo sito tramitehttps://PROJECT_ID.REGION_ID.r.appspot.com, il valore dell'intestazione X- Forwarded-Proto èhttps.
Inoltre, App Engine potrebbe impostare le seguenti intestazioni per uso interno:
X-Appengine-HttpsX-Appengine-User-IPX-Appengine-Api-TicketX-Appengine-Request-Log-IdX-Appengine-Default-Version-HostnameX-Appengine-Timeout-Ms
I servizi App Engine potrebbero aggiungere intestazioni della richiesta aggiuntive:
Le richieste del servizio Cron aggiungono la seguente intestazione:
X-Appengine-Cron: truePer maggiori dettagli, consulta la sezione Proteggere gli URL per cron.
Richiedere risposte
Questa documentazione sull'intestazione HTTP si applica solo alle risposte alle richieste HTTP in entrata. La risposta potrebbe essere modificata prima di essere restituita al client.
Intestazioni rimosse
Le seguenti intestazioni vengono ignorate e rimosse dalla risposta:
ConnectionContent-Encoding*Content-LengthDateKeep-AliveProxy-AuthenticateServerTrailerTransfer-EncodingUpgrade
* Potrebbe essere riaggiunto se la risposta viene compressa da App Engine.
Vengono rimosse anche le intestazioni con caratteri non ASCII nel nome o nel valore.
Intestazioni aggiunte o sostituite
Le seguenti intestazioni vengono aggiunte o sostituite nella risposta:
Cache-Control,ExpireseVaryQueste intestazioni specificano la policy di memorizzazione nella cache per i proxy web intermedi (come Google Frontend e i provider di servizi internet) e i browser. Se la tua app imposta queste intestazioni di risposta, in genere rimangono invariate, a meno che la tua app non imposti anche un'intestazione
Set-Cookieo la risposta non venga generata per un utente che ha eseguito l'accesso utilizzando un account amministratore.Se la tua app imposta un'intestazione di risposta
Set-Cookie, l'intestazioneCache-Controlverrà impostata suprivate(se non è già più restrittiva) e l'intestazioneExpiresverrà impostata sulla data corrente (se non è già passata). In genere, questo consente ai browser di memorizzare nella cache la risposta, ma non i server proxy intermedi. Questo per motivi di sicurezza, poiché se la risposta venisse memorizzata nella cache pubblicamente, un altro utente potrebbe successivamente richiedere la stessa risorsa e recuperare il cookie del primo utente.Se la tua app non imposta l'intestazione della risposta
Cache-Control, il server potrebbe impostarla suprivatee aggiungere un'intestazioneVary: Accept-Encoding.Per ulteriori informazioni sulla memorizzazione nella cache, incluso l'elenco dei valori
Varysupportati dal frontend di Google, consulta Memorizzazione nella cache delle risposte.Content-EncodingA seconda delle intestazioni della richiesta e della risposta
Content-Type, il server potrebbe comprimere automaticamente il corpo della risposta, come descritto in precedenza. In questo caso, aggiunge un'intestazioneContent-Encoding: gzipper indicare che il corpo è compresso. Per ulteriori dettagli, consulta la sezione relativa alla compressione delle risposte.Content-LengthoTransfer-EncodingIl server ignora sempre l'intestazione
Content-Lengthrestituita dall'applicazione. ImposteràContent-Lengthsulla lunghezza del corpo (dopo la compressione, se applicata) o elimineràContent-Lengthe utilizzerà la codifica di trasferimento in blocchi (aggiungendo un'intestazioneTransfer-Encoding: chunked). SeContent-Lengthè impostato in modo errato per i runtime di seconda generazione, App Engine restituisce una risposta 500.DateImpostato sulla data e l'ora correnti.
Server- Impostato su
Google Frontend. Il server di sviluppo imposta questo valore suDevelopment/x, dove x è il numero di versione.
Se accedi a pagine dinamiche sul tuo sito dopo aver eseguito l'accesso con un account amministratore, App Engine include statistiche per richiesta nelle intestazioni della risposta:
X-Appengine-Resource-Usage- Le risorse utilizzate dalla richiesta, incluso il tempo lato server come numero di millisecondi.
Le risposte con statistiche sull'utilizzo delle risorse non saranno memorizzabili nella cache.
Intestazioni della risposta impostate nella configurazione dell'applicazione
Le intestazioni delle risposte HTTP personalizzate possono essere impostate per URL per i percorsi dinamici e statici nel file di configurazione dell'applicazione. Per ulteriori dettagli, consulta le sezioni http_headers della
documentazione sulla
configurazione.