Obtención de URL para servicios agrupados antiguos

En esta página se describe cómo enviar solicitudes HTTP y HTTPS, y recibir respuestas, mediante el servicio de obtención de URLs.

Solicitudes

Protocolos de solicitud

Una aplicación puede obtener una URL mediante HTTP o HTTPS. El protocolo que se debe usar se deduce a partir del protocolo de la URL de destino.

La URL que se va a obtener puede usar cualquier número de puerto de los siguientes intervalos:

  • 80-90
  • 440-450
  • 1024-65535

Si no se menciona el puerto en la URL, el protocolo lo implica. Las solicitudes HTTP se producen en el puerto 80 y las solicitudes HTTPS, en el puerto 443.

Métodos de solicitud

Si envías solicitudes a través del servicio de obtención de URLs, puedes usar cualquiera de los siguientes métodos HTTP:

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

Una solicitud puede incluir encabezados HTTP y, en el caso de las solicitudes POST, PUT y PATCH, una carga útil.

Solicitar proxy

Ten en cuenta que el servicio de obtención de URLs usa un proxy compatible con HTTP/1.1 para obtener el resultado.

Para evitar que una aplicación provoque una recursión infinita de solicitudes, un controlador de solicitudes no puede obtener su propia URL. Sin embargo, sigue siendo posible provocar una recursión infinita por otros medios, por lo que debes tener cuidado si tu aplicación puede hacer que se obtengan solicitudes de URLs proporcionadas por el usuario.

Encabezados de solicitud

Tu aplicación puede definir encabezados HTTP para la solicitud saliente.

Por ejemplo, al enviar una solicitud HTTP POST, si no se define explícitamente un encabezado Content-Type, se le asigna el valor x-www-form-urlencoded. Será el tipo de contenido utilizado por los formularios web.

Por motivos de seguridad, la aplicación no puede modificar los siguientes encabezados:

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

App Engine asigna valores precisos a estos encabezados según corresponda. Por ejemplo, App Engine calcula el encabezado Content-Length a partir de los datos de la solicitud y lo añade a la solicitud antes de enviarla.

Los siguientes encabezados indican el ID de aplicación de la aplicación que realiza la solicitud:

  • User-Agent. Este encabezado se puede modificar, pero App Engine añadirá una cadena de identificador para que los servidores puedan identificar las solicitudes de App Engine. La cadena añadida tiene el formato "AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)", donde APPID es el identificador de tu aplicación.
  • X-Appengine-Inbound-Appid. Este encabezado no se puede modificar y se añade automáticamente si la solicitud se envía a través del servicio URL Fetch.

Tiempo de espera de la solicitud agotado

Puedes definir una fecha límite o un tiempo de espera para una solicitud. De forma predeterminada, el tiempo de espera de una solicitud es de 10 segundos.

Conexiones seguras y HTTPS

Tu aplicación puede obtener una URL de forma segura mediante HTTPS para conectarse a servidores seguros. Los datos de las solicitudes y las respuestas se transmiten a través de la red de forma cifrada.

De forma predeterminada, el proxy de URL Fetch valida el host con el que se pone en contacto. Este comportamiento permite que la API detecte ataques de intermediario entre App Engine y el host remoto cuando se usa HTTPS.

Respuestas

Si usas la API URL Fetch, ten en cuenta que el servicio URL Fetch devuelve todos los datos de respuesta, incluidos la respuesta, el código, los encabezados y el cuerpo.

De forma predeterminada, si el servicio de obtención de URLs recibe una respuesta con un código de redirección, el servicio seguirá la redirección. El servicio seguirá hasta cinco respuestas de redirección y, a continuación, devolverá el recurso final.

Usar URL Fetch en el servidor de desarrollo

Cuando tu aplicación se ejecuta en el servidor de desarrollo de App Engine en tu ordenador, las llamadas al servicio de obtención de URLs se gestionan de forma local. El servidor de desarrollo obtiene las URLs poniéndose en contacto directamente con los hosts remotos desde tu ordenador, usando la configuración de red que tu ordenador utilice para acceder a Internet.

Cuando pruebes las funciones de tu aplicación que obtienen URLs, asegúrate de que tu ordenador pueda acceder a los hosts remotos.

Cuotas y límites de Obtención de URLs

Para obtener información sobre las cuotas del servicio de obtención de URLs, consulta Cuotas. Para ver el uso actual de la cuota de tu aplicación, ve a la página Detalles de cuota de laGoogle Cloud consola.

Ir a la página Detalles de la cuota

Además, se aplican los siguientes límites al uso del servicio URL Fetch: