H. Funcionamiento

Versión para imprimir.

1. Iniciamos al ejecutar código en el cliente

index.html

const respuesta =
 await consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)

2. Se invoca el servicio en el servidor

index.html

const respuesta =
 await consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)

Ejecuta invocaServicio y envía request (solicitud).

Request

GET /srv/devuelve.php HTTP/1.1 Accept: application/json, application/problem+json
Accept-Encoding: gzip, deflate
Accept-Language: es-ES,es;q=0.9,en;q=0.8
Connection: keep-alive
Cookie: __gsas=ID=329641bd2728ff51:T=1743534294:RT=1743534294:S=ALNI_MavjA3FPY-hDE5wNZO5LxFSOVeIIQ; __test=fe8a33dadb44b3adb2a0bc1ff8c44c98
Host: srvdevuelve.rf.gd
Referer: http://srvdevuelve.rf.gd/?i=1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36

srv/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 consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)

Hace wait esperando response.

srv/devuelve.php

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

Procesa la request y
genera response
(respuesta).

Response

HTTP/1.1 200 OK Server: openresty
Date: Fri, 02 May 2025 03:41:22 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=0
Expires: Fri, 02 May 2025 03:41:22 GMT
{"nombre":"pp","mensaje":"Hola."}

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

index.html

const respuesta =
 await consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)

Despierta y recibe response.

Response

HTTP/1.1 200 OK Server: openresty
Date: Fri, 02 May 2025 03:41:22 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=0
Expires: Fri, 02 May 2025 03:41:22 GMT
{"nombre":"pp","mensaje":"Hola."}

Memoria

respuesta
status
200
body
nombre
"pp"
mensaje
"Hola."

srv/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 consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)

Memoria

respuesta
status
200
body
nombre
"pp"
mensaje
"Hola."

Alert

Nombre: pp
Mensaje: Hola.

6. Al cerrar el alert, termina el evento

index.html

const respuesta =
 await consumeJson("srv/devuelve.php")
alert(`Nombre: ${respuesta.body.nombre}
Mensaje: ${respuesta.body.mensaje}`)