¿Qué es un Proxy?

7/37
Recursos

Aportes 12

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Si no entendiste que es un proxy no te preocupes, aquí te lo explico:
.
Imagínate a un proxy como un INTERMEDIARIO, en el ámbito de redes, tú puedes conectarte desde tu computadora a un servidor intermedio, y ese servidor intermedio puede conectarse a cualquier sitio web al que quieras entrar. De este modo, quien se conecta al sitio web es ese servidor intermedio y este mismo es quien te manda a ti la información de dicho sitio web, de esa manera tienes una conexión un poco más segura, y en este caso ese servidor intermedio es un proxy.

Ahora, teniendo en mente que un proxy es un intermediario, en JavaScript, es simplemente un intermediario que hay cuando alguien modifica un objeto, arra, función, etc.
.
Por ejemplo, supongamos que tenemos un objeto:

const myObject = {
	myProperty: "Value"
}

Si un programador normal quiere acceder a ese objeto, podría hacerlo de la siguiente forma:

myObject.myProperty // value

Sin embargo, con los proxys como intermediarios, podemos interceptar ese acceso y podemos cambiar el valor que dicha propiedad retorne, y podemos hacer muchas cosas más interesantes usando el propio objeto Proxy:

const myProxy = new Proxy(target, handler);

Donde target es el objeto que queremos interceptar y handler es la lógica de lo que hará nuestra intercepción

Bueno me pareció un poco complejo lo de los Proxy jaja para complementar hay una clase de 10 minutos sobre Proxy en el curso profesional de JavaScript: https://platzi.com/clases/1642-javascript-profesional/22172-proxy/

¿Qué es un Proxy?
Los servidores proxy generalmente se usan como un puente entre el origen y el destino de una solicitud. En nuestra imagen, puedes ver que la computadora necesita pasar por el servidor proxy para acceder a Internet, y este es uno de los usos comunes de los servidores proxy.

¿Para qué sirve un servidor proxy?
El proxy puede cumplir algunas de las siguientes funciones:

  • Control de acceso: es posible que los administradores del servidor proxy permitan que ciertos usuarios tengan o no acceso a Internet a través de restricciones en su propio inicio de sesión o direcciones IP, proporcionando al entorno una capa adicional de protección.
  • Filtrado de contenido: al estar en el medio del camino, el servidor también permite, o no, el acceso a ciertos sitios. Entre las reglas que se pueden aplicar están aquellas para bloquear sitios web específicos, pudiendo llegar a bloquear categorías completas.

Leer más . . .

Me resultó un poco complicado entender el concepto, si para alguien más lo fué, comparto mi resumen y conceptualización:

PROXY JS: Es una funcionalidad implementada desde JS ESMASCRIPT 6 que se encarga de ejecutar acciones (trampas) sobre objetos indirectamente, por esto el concepto de PROXY, es decir, hace referencia a que una vez instanciado el PROXY y referenciado el Objeto sobre el cual el HANDLER va a realizar acciones, desde este mismo PROXY podremos acceder por ejemplo a propiedades del objeto original, por ejemplo:
  1. OBJETO ORIGINAL:
const empleado = { nombre: 'Jhon Doe', edad: 30, Password: '123321'};
  1. HANDLER: Acciones o trampas a ejecutar desde el PROXY y sobre el objeto original. En este caso validamos el get de las propiedades, si identificamos que es el password no me lo mostrará, no estaria permitido, sería nuestra TRAMPA!!! dentro de nuestro HANDLER.
var handler = {
	get(objeto, prop){
		if(prop === 'password'){
                    console.error(`No puede mostrar el password`);
                    return '***';
                }
                return objeto[prop];
            }
}
  1. PROXY: Encargado de acceder directamente a propiedades del objeto vinculado en el momento de instanciarse.
var Proxy = new Proxy(empleado, handler);
  1. PROBAMOS NUESTRO PROXY!!!: Aquí el ejemplo de cómo a través del proxy accedemos directamente a propiedades del objeto principal y el handler seria quien realizaria las acciones, en este caso el get de la propiedad.
console.log(Proxy.password);  
  1. RESULTADO EN CONSOLA:
No puede mostrar el password
***

EJEMPLO-VERCONSOLA

Los Proxys son el fundamento de toda programación reactiva en JavaScript. Los Proxys son un intermediario entre un cliente y un servidor, se encargan de crear una nueva conexión basada en una conexión original. Los Proxys le agregan seguridad a nuestra conexión ya que son administrados por expertos. Además los Proxys pueden estar ubicados en otro lugar del mundo y con esto generan una conexión final en ese lugar, así podemos acceder a contenido que sea exclusivo de ciertos países.

El origen es la conexión en sí misma, el destino es la misma conexión pero modificada. El túnel es un manipulador que tiene una serie de reglas o trampas

¿Qué es un Proxy?

Los proxys son el fundamento de toda programación reactiva en JavaScript.

Los Proxys son servidores intermedios que se encargar de crear una nueva conexión a través de la conexión original. Normalmente los proxys son muy seguros porque los profesionales de la tecnología de la información se encargan de crear los proxys. Además nos permiten acceder a información de distintas partes del mundo.

El origen es la conexión en sí misma, y el destino es la misma conexión, pero modificada.

que excelente explicacion me esta gustando Vue

Samuel, sinceramente no esperaba nada de este curso y hasta el momento está resultando ser una tremenda joya. Big tula bro.

Proxy

Son servidores intermedios encargados de crear una nueva conexión basados en una conexión original.

Los praxis son muy intensivos, es posible modificar las acciones originales que el usuario está intentando.

👌

La manera más **Simple ** que yo entendí esto es que al crear una nueva instancia de Proxy y le pasemos como parámetro le damos “poderes” a ese objeto que le hayamos pasado por el Proxy. por ejemplo; **Saber cuando se intenta modificar el ** contenido o simplemente cuando se quiera obtener ese valor

No conocía lo basto que abordaba Js el tema de proxys, interesante para ponerlo en práctica!!