请求标头

区域 ID

REGION_ID 是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r 包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。

详细了解区域 ID

本参考页面详细介绍了受支持的 HTTP 标头。要了解 App Engine 如何接收请求和发送响应,请参阅请求的处理方式

请求标头

传入 HTTP 请求包含客户端发送的 HTTP 标头。为保证安全,部分标头在到达应用前由中间代理进行清理、修改或移除。

将从传入请求中移除的标头

如果客户端发送了以下标头,则这些标头会从传入请求中移除:

  • 名称采用 X-Google-* 格式的标头。Google 会预留此名称格式。

  • 名称与 App Engine 专属标头匹配的标头。只有完全匹配、不区分大小写的匹配项才会被移除。例如,名为 X-Appengine-CountryX-AppEngine-Country 的标头将被移除,但 名为 X-Appengine-Cntry 的标头不会被移除。

App Engine 专属标头

作为应用的一项服务,App Engine 会将以下标头添加到所有请求中:

X-Appengine-Country
从中发起请求的国家/地区,用 ISO 3166-1 二位字母国家/地区代码表示。App Engine 根据客户端的 IP 地址来确定此代码。请注意,国家/地区信息并非来自于 WHOIS 数据库;WHOIS 数据库中带有国家/地区信息的 IP 地址可能不会在 X-Appengine-Country 标头中包含国家/地区信息。您的应用应该处理特殊国家/地区代码 ZZ(未知国家/地区)。
X-Appengine-Region
发起请求的区域的名称。此值仅在 X -Appengine-Country 中的国家/地区的上下文中有意义。例如,如果国家/地区为“US”,地区为“ca”,则“ca”表示“加利福尼亚州”,而不是加拿大。如需查看有效地区值的完整列表,请参阅 ISO-3166-2 标准。
X-Appengine-City
从中发起请求的城市的名称。例如,对于从美国山景城 (Mountain View) 发起的请求,其标头值可能为 mountain view。此标头没有标准的有效值列表。 如果该城市无法解析,则标头值设置为 ?
X-Appengine-CityLatLong
从中发起请求的城市的纬度和经度。对于来自美国山景城的请求,此字符串可能为“37.386051,-122.083851”。 如果该城市无法解析,则标头值设置为 0.000000,0.000000
X-Cloud-Trace-Context
用于 Cloud TraceCloud Logging 的请求的唯一标识符。 您无法停用此标头或选择跟踪的采样率,因为系统会自动跟踪所有 App Engine 标准环境应用。
X-Forwarded-For: [CLIENT_IP(s)], [global forwarding rule IP]

以逗号分隔的 IP 地址列表,客户端请求通过这些 IP 地址路由。此列表中的第一个 IP 通常是创建请求的客户端的 IP。后续 IP 提供有关代理服务器的信息,这些代理服务器在请求到达应用服务器之前也会对其进行处理。例如:

X-Forwarded-For: clientIp, proxy1Ip, proxy2Ip
X-Forwarded-Proto [http | https]

根据客户端用于连接到应用的协议,显示 httphttps

Google Cloud Load Balancer 会终结所有 https 连接,然后通过 http 将流量转发到 App Engine 实例。例如,如果用户通过 https://PROJECT_ID.REGION_ID.r.appspot.com 请求访问您的网站,则 X-Forwarded-Proto 标头值为 https

此外,App Engine 可能会设置以下供 App Engine 内部使用的标头:

  • X-Appengine-Https
  • X-Appengine-User-IP
  • X-Appengine-Api-Ticket
  • X-Appengine-Request-Log-Id
  • X-Appengine-Default-Version-Hostname
  • X-Appengine-Timeout-Ms