URL Fetch für gebündelte Legacy-Dienste

Auf dieser Seite wird gezeigt, wie Sie HTTP- und HTTPS-Anfragen senden und Antworten mit dem URL-Abrufdienst empfangen.

Anfragen

Anfrageprotokolle

Zum Abrufen einer URL kann eine Anwendung HTTP oder HTTPS verwenden. Das zu verwendende Protokoll wird abgeleitet, indem das Protokoll in der Ziel-URL untersucht wird.

Die abzurufende URL kann innerhalb der folgenden Bereiche eine beliebige Portnummer verwenden:

  • 80 – 90
  • 440 – 450
  • 1024 – 65535

Wenn der Port in der URL nicht angegeben ist, wird er durch das Protokoll impliziert. HTTP-Anfragen werden über Port 80 und HTTPS-Anfragen über Port 443 gesendet.

Anfragemethoden

Anfragen, die mithilfe des URL-Abrufdienstes gesendet werden, können eine der folgenden HTTP-Methoden verwenden:

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH

Eine Anfrage kann HTTP-Header und im Fall von POST-, PUT- und PATCH-Anfragen eine Nutzlast enthalten.

Anfrage-Proxys

Der URL-Abrufdienst verwendet zum Abrufen von Ergebnissen einen HTTP/1.1-konformen Proxy.

Anfrage-Handler können ihre eigene URL nicht abrufen. Auf diese Weise wird verhindert, dass eine Anwendung endlos wiederkehrende Anfragen verursacht. Solche endlos wiederkehrenden Anfragen können jedoch auch auf andere Weise verursacht werden. Sie sollten daher vorsichtig sein, wenn Ihre Anwendung URL-Anfragen abrufen kann, die vom Nutzer bereitgestellt worden sind.

Anfrageheader

Sie können in Ihrer Anwendung HTTP-Header für die ausgehende Anfrage festlegen.

Wenn beispielsweise beim Senden einer HTTP-POST-Anfrage ein Content-Type-Header nicht explizit festgelegt wird, wird der Header auf x-www-form-urlencoded gesetzt. Dies ist der für Webformulare verwendete Inhaltstyp.

Aus Sicherheitsgründen können die folgenden Header von der Anwendung nicht geändert werden:

  • Content-Length
  • Host
  • Vary
  • Via
  • X-Appengine-Inbound-Appid
  • X-Forwarded-For
  • X-ProxyUser-IP

Für diese Header legt App Engine nach Bedarf genaue Werte fest. Beispielsweise berechnet App Engine den Content-Length-Header aus den Anfragedaten und fügt ihn der Anfrage vor dem Senden hinzu.

Die folgenden Header geben die Anwendungs-ID der anfragenden Anwendung an:

  • User-Agent. Dieser Header kann geändert werden. App Engine fügt jedoch einen ID-String an, damit App Engine-Anfragen von Servern identifiziert werden können. Der angefügte String hat das Format "AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)", wobei APPID die ID Ihrer Anwendung ist.
  • X-Appengine-Inbound-Appid. Dieser Header kann nicht geändert werden und wird automatisch hinzugefügt, falls die Anfrage über den URL-Abrufdienst.

Zeitlimits für Anfragen

Sie können eine Frist bzw. ein Zeitlimit für eine Anfrage festlegen. Standardmäßig beträgt das Zeitlimit für eine Anfrage 10  Sekunden.

Sichere Verbindungen und HTTPS

Zum sicheren Abrufen einer URL können Sie HTTPS verwenden, um Ihre Anwendung mit sicheren Servern zu verbinden. Anfrage- und Antwortdaten werden verschlüsselt über das Netzwerk übertragen.

Antworten

Wenn Sie die URL-Abruf-API verwenden, gibt der URL-Abrufdienst alle Antwortdaten zurück, einschließlich Antwortcode, -header und -text.

Standardmäßig folgt der URL-Abrufdienst einer Weiterleitung, wenn er eine Antwort mit einem Weiterleitungscode erhält. Der Dienst folgt bis zu fünf Weiterleitungsantworten und gibt dann die endgültige Ressource zurück.

URL-Abrufdienst auf dem Entwicklungsserver verwenden

Wenn die Anwendung auf dem App Engine-Entwicklungsserver auf Ihrem Computer ausgeführt wird, werden Aufrufe an den URL-Abrufdienst lokal verarbeitet. Der Entwicklungsserver ruft URLs ab, indem er Remote-Hosts direkt über den Computer kontaktiert. Dazu wird die Netzwerkkonfiguration verwendet, mit der der Computer auf das Internet zugreift.

Achten Sie darauf, dass der Computer auf die Remote-Hosts zugreifen kann, wenn Sie die Features Ihrer Anwendung testen, mit denen URLs abgerufen werden.

Kontingente und Limits für den URL-Abruf

Informationen zu URL-Abrufdienstkontingenten finden Sie unter Kontingente. Die aktuelle Kontingentnutzung Ihrer Anwendung können Sie in der Google Cloud Console auf der Seite „Kontingente“ sehen.

Weiter zur Seite „Kontingente”

Außerdem gelten für die Verwendung des URL-Abrufdienstes die folgenden Beschränkungen:

Limit Amount
Request size 10 megabytes
Request header size 16 KB (Note that this limits the maximum length of the URL that can be specified in the header)
Response size 32 megabytes
Maximum deadline (request handler) 60 seconds
Maximum deadline (Task Queue and cron job handler) 60 seconds