Un protocolo es una serie de reglas a seguir para poder establecer una comunicación entre 2 o mas programas, computadoras, entre otras.
Si haz desarrollado en Java usando threads y sockets, probablemente sabes a que me refiero, es importante establecer reglas y eviarlas "over the wire" para que se pueda establecer una conversación coherente.
Esto tiene mucho que ver con respuestas de XMLHttpRequest. En la arquitectura web tenemos 2 lugares de "trabajo", el server y el cliente. Estos 2 workspaces trabajan en un universo completamente diferente, esto quiere decir que variables del server no pueden ser vistas por el cliente, al menos de manera directa y por lo tanto una sentencia o accion de server no puede provocar un refresh del cliente (vdd nena? jaja) o viceversa. Cada dia salen mas y mas nuevas tecnologias que buscan acortar la distancia entre ambos "universos", sin embargo esto es solo una ilusion, al menos por ahora, pues solo son procedimientos que te hacen pensar que el lenguaje cliente y lenguaje server pudieran ser uno mismo cuando en realidad existen todo tipo de metodos o tweaks por atras. Para que este fuera posible, la arquitectura cliente-servidor deberia de rehacerse.
Muy bien, una vez aclarado esto es tiempo de comenzar.
Accion de server a Cliente
Muy bien, supongamos que tenemos una aplicación de chat en la web que se actualiza por medio de llamadas asincronas conectandose con el server cada 5 segundos, que sucede si en una de esas llamadas se nos niega la conección (Ya sea porque lo tumbaron, ya no esta loggeado u otras), como le hacemos para redirigirlo a la pagina de login??
Lo que tenemos que hacer es desarrollar un mini protocolo de comunicación entre el cliente y el server, que ambos lo entiendan (o al menos que nosotros lo entendamos).
por ejemplo:
Server (PHP)
Cliente (Javascript)
*El ejemplo es solo para motivos didacticos
Este tip es de lo mas sencillo, lo dificil para algunos es la arquitectura web, que se puede hacer y que no =P
Una vez que le agarramos la onda, todo tipo de loqueras se nos empiezan a ocurrir jaja.
Si haz desarrollado en Java usando threads y sockets, probablemente sabes a que me refiero, es importante establecer reglas y eviarlas "over the wire" para que se pueda establecer una conversación coherente.
Esto tiene mucho que ver con respuestas de XMLHttpRequest. En la arquitectura web tenemos 2 lugares de "trabajo", el server y el cliente. Estos 2 workspaces trabajan en un universo completamente diferente, esto quiere decir que variables del server no pueden ser vistas por el cliente, al menos de manera directa y por lo tanto una sentencia o accion de server no puede provocar un refresh del cliente (vdd nena? jaja) o viceversa. Cada dia salen mas y mas nuevas tecnologias que buscan acortar la distancia entre ambos "universos", sin embargo esto es solo una ilusion, al menos por ahora, pues solo son procedimientos que te hacen pensar que el lenguaje cliente y lenguaje server pudieran ser uno mismo cuando en realidad existen todo tipo de metodos o tweaks por atras. Para que este fuera posible, la arquitectura cliente-servidor deberia de rehacerse.
Muy bien, una vez aclarado esto es tiempo de comenzar.
Accion de server a Cliente
Muy bien, supongamos que tenemos una aplicación de chat en la web que se actualiza por medio de llamadas asincronas conectandose con el server cada 5 segundos, que sucede si en una de esas llamadas se nos niega la conección (Ya sea porque lo tumbaron, ya no esta loggeado u otras), como le hacemos para redirigirlo a la pagina de login??
Lo que tenemos que hacer es desarrollar un mini protocolo de comunicación entre el cliente y el server, que ambos lo entiendan (o al menos que nosotros lo entendamos).
por ejemplo:
Server (PHP)
echo "{success:false, errorType:1, data:{...}}"
Cliente (Javascript)
//Obtenemos la respuesta por medio de un XMLHttpRequest
var response = eval(ajaxResponse);
//Apartir de aqui, podemos hacer lo que queramos con el JSON
if(response.errorType == 1){
window.location = "../index.php"
}
*El ejemplo es solo para motivos didacticos
Este tip es de lo mas sencillo, lo dificil para algunos es la arquitectura web, que se puede hacer y que no =P
Una vez que le agarramos la onda, todo tipo de loqueras se nos empiezan a ocurrir jaja.
