Regions-ID
REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.
Auf dieser Referenzseite finden Sie Details dazu, welche HTTP-Header unterstützt werden, sowie zu den Limits für Anfragen und Antworten in App Engine. Informationen dazu, wie App Engine Anfragen empfängt und Antworten sendet, finden Sie unter Anfrageverarbeitung.
Anfrageheader
Eine eingehende HTTP-Anfrage enthält die HTTP-Header, die vom Client gesendet werden. Einige Header werden aus Sicherheitsgründen von zwischengeschalteten Proxys bereinigt, berichtigt oder entfernt, bevor sie die Anwendung erreichen.
Aus eingehenden Anfragen entfernte Header
Folgende Header werden aus eingehenden Anfragen entfernt, wenn ein Client sie sendet:
Header mit Namen, die dem Muster
X-Google-*entsprechen. Dieses Namensmuster ist für Google reserviert.Header mit Namen, die einem App Engine-spezifischen Header entsprechen. Es werden nur exakte Übereinstimmungen entfernt, wobei die Groß- / Kleinschreibung nicht berücksichtigt wird. Beispiel: Header mit dem Namen
X-Appengine-CountryoderX-AppEngine-Countrywerden entfernt,X-Appengine-Cntryjedoch nicht.
Accept-EncodingConnectionKeep-AliveProxy-AuthorizationTETrailerTransfer-Encoding
Beispielsweise kann der Server abhängig vom Wert des Anfrageheaders Accept-Encoding automatisch eine mit gzip komprimierte Antwort senden. Die Anwendung selbst muss nicht wissen, welche Inhaltscodierungen der Client akzeptieren kann.
App Engine-spezifische Header
App Engine fügt als Dienst für die Anwendung allen Anfragen die folgenden Header hinzu:
X-Appengine-Country- : Das Land, aus dem die Anfrage stammt, als Ländercode gemäß ISO 3166-1 Alpha-2.
App Engine ermittelt diesen Code anhand der IP-Adresse des Clients. Beachten Sie, dass die Länderinformationen nicht aus der WHOIS-Datenbank stammen. Es kann sein, dass eine IP-Adresse mit Länderinformationen in der WHOIS-Datenbank keine Länderinformationen im Header
X-Appengine-Countryenthält. Ihre Anwendung sollte den speziellen LändercodeZZ(Land unbekannt) verarbeiten können. X-Appengine-Region- : Der Name der Region, aus der die Anfrage stammt. Die Interpretation dieses Werts hängt von dem unter
X -Appengine-Countryangegebenen Land ab. Wenn als Land z. B. "US" und als Region "ca" angegeben ist, steht "ca" für "Kalifornien", nicht für Kanada. Die vollständige Liste der gültigen Regionenwerte finden Sie in der Norm ISO 3166-2. X-Appengine-City- Der Name der Stadt, aus der die Anfrage stammt. So kann z. B. eine Anfrage aus der Stadt Mountain View den Header-Wert
mountain viewenthalten. Für diesen Header gibt es keine offizielle Liste gültiger Werte. Wenn die Stadt nicht aufgelöst werden kann, wird der Headerwert auf?gesetzt. X-Appengine-CityLatLong- Der Breiten- und Längengrad der Stadt, aus der die Anfrage stammt. Für eine Anfrage aus Mountain View könnte dieser String etwa "37.386051,-122.083851" lauten.
Wenn die Stadt nicht aufgelöst werden kann, wird der Headerwert auf
0.000000,0.000000gesetzt. X-Cloud-Trace-Context- Eine eindeutige Kennung für die Anfrage, die für Cloud Trace und Cloud Logging verwendet wird. Es gibt keine Möglichkeit, diesen Header zu deaktivieren oder die Abtastrate für das Tracing auszuwählen, da alle App Engine-Standardumgebungsanwendungen automatisch verfolgt werden.
X-Forwarded-For: [CLIENT_IP(s)], [global forwarding rule IP]Eine durch Kommas getrennte Liste von IP-Adressen, über die die Clientanfrage weitergeleitet wurde. Die erste IP-Adresse in dieser Liste ist normalerweise die IP-Adresse des Clients, der die Anfrage erstellt hat. Die folgenden IP-Adressen enthalten Informationen über die Proxyserver, die ebenfalls die Anfrage verarbeitet haben, bevor sie den Anwendungsserver erreicht hat. Beispiel:
X-Forwarded-For: clientIp, proxy1Ip, proxy2IpX-Forwarded-Proto [http | https]Zeigt
httpoderhttpsje nach dem Protokoll, das der Client für die Verbindung mit der Anwendung verwendet hat.Der Google Cloud Load Balancer beendet alle
https-Verbindungen und leitet dann überhttpden Traffic an App Engine-Instanzen weiter. Beispiel: Wenn ein Nutzer überhttps://PROJECT_ID.REGION_ID.r.appspot.comZugriff auf Ihre Website anfordert, ist der Wert des "X-Forwarded-Proto"-Headershttps.
Darüber hinaus kann App Engine folgende Header für die interne Verwendung durch App Engine festlegen:
X-Appengine-HttpsX-Appengine-User-IPX-Appengine-Api-TicketX-Appengine-Request-Log-IdX-Appengine-Default-Version-HostnameX-Appengine-Timeout-Ms
Von App Engine-Diensten werden ggf. zusätzliche Anfrageheader hinzugefügt:
Anfragen vom Cron-Dienst fügen folgenden Header hinzu:
X-Appengine-Cron: trueWeitere Informationen finden Sie unter URLs für Cron sichern.
Anfrageantworten
Diese HTTP-Headerdokumentation gilt nur für Antworten auf eingehende HTTP-Anfragen. Die Antwort wird unter Umständen geändert, bevor sie zurück an den Client geht.
Entfernte Header
Die folgenden Header werden ignoriert und aus der Antwort entfernt:
ConnectionContent-Encoding*Content-LengthDateKeep-AliveProxy-AuthenticateServerTrailerTransfer-EncodingUpgrade
* Kann neu hinzugefügt werden, wenn die Antwort von App Engine komprimiert wird.
Header mit Nicht-ASCII-Zeichen im Namen oder Wert werden ebenfalls entfernt.
Hinzugefügte oder ersetzte Header
Die folgenden Header werden in der Antwort hinzugefügt oder ersetzt:
Cache-Control,ExpiresundVaryDiese Header bestimmen Caching-Richtlinien für zwischengeschaltete Webproxys (wie das Google Frontend und Internet Service Provider) und Browser. Wenn Ihre App diese Antwortheader festlegt, bleiben sie in der Regel unverändert, es sei denn, Ihre App legt auch einen
Set-Cookie-Header fest oder die Antwort wird für einen Nutzer generiert, der mit einem Administratorkonto angemeldet ist.Wenn Ihre Anwendung einen
Set-Cookie-Antwortheader festlegt, wird der HeaderCache-Controlaufprivategesetzt (wenn nicht schon eine restriktivere Einstellung ausgewählt ist) und der HeaderExpireswird auf das aktuelle Datum gesetzt (wenn nicht bereits ein vergangenes Datum angegeben ist). Das sorgt in der Regel dafür, dass die Antwort in Browsern, nicht jedoch in zwischengeschalteten Proxyservern im Cache gespeichert werden kann. Dies geschieht aus Sicherheitsgründen: Bei einer öffentlich im Cache gespeicherten Antwort könnte ein anderer Nutzer dieselbe Ressource noch einmal anfordern und das Cookie des ersten Nutzers abrufen.Legt Ihre Anwendung den Antwortheader
Cache-Controlnicht fest, kann der Server diesen aufprivatesetzen und einenVary: Accept-Encoding-Header hinzufügen.Weitere Informationen zum Caching, einschließlich der Liste von
Vary-Werten, die vom Google Frontend unterstützt werden, finden Sie unter Antwort-Caching.Content-EncodingAbhängig von den Anfrageheadern und dem
Content-Typeder Antwort kann der Server den Antworttext wie oben beschrieben automatisch komprimieren. In diesem Fall wird der HeaderContent-Encoding: gziphinzugefügt, um zu zeigen, dass der Text komprimiert ist. Weitere Informationen finden Sie im Abschnitt zur Antwortkomprimierung.Content-LengthoderTransfer-EncodingDer Server ignoriert immer den von der Anwendung zurückgegebenen Header
Content-Length. Der Server setztContent-Lengthentweder auf die Länge des Texts (ggf. nach der Komprimierung) oder löschtContent-Lengthund verwendet die aufgeteilte Transfercodierung (durch Hinzufügen des HeadersTransfer-Encoding: chunked). WennContent-Lengthfür Laufzeiten der zweiten Generation falsch festgelegt ist, gibt App Engine den Fehler 500 zurück.DateWird auf das aktuelle Datum und die aktuelle Uhrzeit eingestellt.
Server- Auf
Google Frontendsetzen. Dieser Wert wird durch den Entwicklungsserver aufDevelopment/xgesetzt, wobei x für die Versionsnummer steht.
Wenn Sie auf dynamische Seiten Ihrer Website zugreifen, während Sie mit einem Administratorkonto angemeldet sind, fügt App Engine anfragebezogene Statistiken in die Antwortheader ein:
X-Appengine-Resource-Usage- Die von der Anfrage genutzten Ressourcen, einschließlich der serverseitigen Zeit in Millisekunden.
Antworten mit Statistiken zur Ressourcennutzung können nicht im Cache gespeichert werden.
In der Anwendungskonfiguration festgelegte Antwortheader
Benutzerdefinierte HTTP-Antwortheader für dynamische und statische Pfade können in der Konfigurationsdatei Ihrer Anwendung pro URL festgelegt werden. Weitere Informationen finden Sie in den Abschnitten http_headers der Dokumentation zur Konfiguration.