リクエスト ヘッダー

リージョン ID

REGION_ID は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。

詳しくは、リージョン ID をご覧ください。

サポートされている HTTP ヘッダーの詳細については、このリファレンス ページをご覧ください。App Engine がリクエストを受信して、レスポンスを送信する仕組みの詳細については、リクエストの処理方法をご覧ください。

リクエスト ヘッダー

受信した HTTP リクエストには、クライアントから送信された HTTP ヘッダーが含まれています。セキュリティ上の理由から、一部のヘッダーは、アプリケーションに到達する前に中間プロキシによってサニタイズ、削除または修正されます。

受信リクエストから削除されるヘッダー

クライアントがリクエストを送信すると、次のヘッダーが受信リクエストから削除されます。

  • X-Google-* パターンに一致する名前を含むヘッダー。この名前のパターンは Google で予約されています。

  • App Engine 固有のヘッダーと一致する名前を含むヘッダー。大文字と小文字を区別しない完全一致のみが削除されます。たとえば、X-Appengine-Country または X-AppEngine-Country という名前のヘッダーは削除されますが、X-Appengine-Cntry は削除されません。

App Engine 固有のヘッダー

アプリに対するサービスとして、App Engine は、以下のヘッダーをすべてのリクエストに追加します。

X-Appengine-Country
リクエスト送信元の国を表す ISO 3166-1 alpha-2 国コード。App Engine は、クライアントの IP アドレスからこのコードを決定します。国情報は WHOIS データベースから導出されるものではないことに注意してください。ある IP アドレスの国情報が WHOIS データベースには存在していても、X-Appengine-Country ヘッダーに国情報が含まれていないということもあります。アプリケーションは、特別な国コード ZZ(不明な国)を処理できるようにしておく必要があります。
X-Appengine-Region
リクエスト送信元のリージョンの名前。この値は、X -Appengine-Country の国のコンテキストでのみ意味があります。たとえば、国が「US」でリージョンが「ca」の場合は、この「ca」はカナダではなく「カリフォルニア州」を意味します。有効なリージョン値の一覧については、ISO-3166-2 規格をご覧ください。
X-Appengine-City
リクエスト送信元の都市の名前。たとえば、リクエストの送信元がマウンテン ビューという都市の場合は、ヘッダー値が mountain view となります。このヘッダーに有効な値の正式な一覧はありません。都市が解決できない場合、ヘッダー値は ? に設定されます。
X-Appengine-CityLatLong
リクエスト送信元の都市の緯度と経度。米国のマウンテンビューからのリクエストの場合は、この文字列が「37.386051,-122.083851」のようになります。都市が解決できない場合、ヘッダー値は 0.000000,0.000000 に設定されます。
X-Cloud-Trace-Context
Cloud TraceCloud Logging に使用されるリクエスト用の一意の ID。App Engine スタンダード環境上のすべてのアプリはトレースが自動的に行われるため、このヘッダーを無効にすることや、トレースのサンプリング レートを選択することはできません。
X-Forwarded-For: [CLIENT_IP(s)], [global forwarding rule IP]

クライアント リクエストがルーティングされた際に経由した IP アドレスからなるカンマ区切りリスト。このリストの最初の IP アドレスは、通常は、そのリクエストを作成したクライアントの IP アドレスです。それ以降の IP アドレスには、このリクエストがアプリケーション サーバーに到達するまでに経由した各プロキシ サーバーに関する情報が含まれます。次に例を示します。

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

クライアントでアプリケーションに接続するために使用されたプロトコルに基づいて、http または https が表示されます。

Google Cloud ロードバランサですべての https 接続が終了され、http を介して App Engine インスタンスにトラフィックが転送されます。たとえば、ユーザーが https://PROJECT_ID.REGION_ID.r.appspot.com を介してサイトへのアクセスをリクエストする場合、X-Forwarded-Proto ヘッダーの値は https になります。

さらに、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