H. Funcionamiento

Versión para imprimir.

1. Iniciamos al ejecutar código en el cliente

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)

2. Se invoca el servicio en el servidor

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)

Envía la solicitud (request) a la red para que
se ejecute el servicio asociado con la URL.

Request

GET /api/devuelve.php HTTP/1.1 Accept: application/json, application/problem+json
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: es-MX,es-ES;q=0.9,es;q=0.8,en;q=0.7,gl;q=0.6,pt;q=0.5
Connection: keep-alive
Cookie: __test=610630da28570bec7a7a24ad4391af68
Host: srvdevuelve.rf.gd
Referer: https://srvdevuelve.rf.gd/?i=1
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36
sec-ch-ua: "Chromium";v="148", "Google Chrome";v="148", "Not/A)Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"

api/devuelve.php

devuelveJson([
 "nombre" => "pp",
 "mensaje" => "Hola."
]);

Despierta y recibe request.

3. El servicio procesa la request y genera la response

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)

Hace wait esperando response.

api/devuelve.php

devuelveJson([
 "nombre" => "pp",
 "mensaje" => "Hola."
]);

Procesa la request y
genera response
(respuesta).

Response

HTTP/1.1 200 OK Server: openresty
Date: Sun, 17 May 2026 19:17:52 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=0
Expires: Sun, 17 May 2026 19:17:52 GMT
{"nombre":"pp","mensaje":"Hola."}

4. El servicio devuelve la response, que es recibida en el cliente

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)

Despierta y recibe response.

Response

HTTP/1.1 200 OK Server: openresty
Date: Sun, 17 May 2026 19:17:52 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=0
Expires: Sun, 17 May 2026 19:17:52 GMT
{"nombre":"pp","mensaje":"Hola."}

Memoria

respuesta
status
200
body
{"nombre":"pp","mensaje":"Hola."}
json
nombre
"pp"
mensaje
"Hola."

api/devuelve.php

devuelveJson([
 "nombre" => "pp",
 "mensaje" => "Hola."
]);

Devuelve response y se duerme.

5. Muestra el objeto recibido en un alert

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)

Memoria

respuesta
status
200
body
{"nombre":"pp","mensaje":"Hola."}
json
nombre
"pp"
mensaje
"Hola."

Alert

Nombre: pp
Mensaje: Hola.

6. Al cerrar el alert, termina el evento

index.html

const respuesta = await consume(
 recibeJson("api/devuelve.php"))
const json =
 await respuesta.json()
alert(
 `Mensaje: ${json.mensaje}
Nombre: ${json.nombre}`)