Antes que una respuesta a una petición llegue a nuestra aplicación debemos hacer algo que se llama intercepción, es decir, pasar la respuesta por algunos métodos y filtros antes que pueda ser usable, de esta forma podemos detectar errores o transformar los datos.
Interceptar respuestas
Cuando llega una respuesta a nuestra aplicación, es común que debamos hacer algunas acciones antes de presentar los datos al usuario, por ejemplo validación de credenciales, limpieza de datos, manejo de errores, todo con la finalidad que nuestra aplicación sea lo más fluida posible sin ser insegura.
Veamos un ejemplo en la siguiente imagen de un código implementando un Response Interceptor:
Vemos como obtenemos la respuesta e inmediatamente la pasamos por un método personalizado de notificación donde pudiéramos extraer los errores y luego un método de log de errores con el cual podemos imprimir en la consola el problema, finalmente si eso sucede rechazamos la respuesta para que nuestra aplicación no haga nada.
Seguridad
La seguridad es algo que es muy importante tener en cuenta, cuando trabajamos en web estamos expuestos a que nuestros servicios sean atacados, donde el mismo puede ser para denegar el servicio, así como para obtener de forma ilegal nuestros datos.
En AngularJS el formato JSON es particularmente el punto que debemos proteger más, ya que es parte vital de la confección de nuestra aplicación, aquí debemos tener en cuenta que los datos más delicados no podemos darlos con una petición GET, ya que podríamos tener problemas de accesos no autorizados.
Una de las formas de protegernos es siempre utilizar un método POST cuando estamos trabajando con información delicada para la integridad de nuestro ecosistema.
También hay un problema que es cuando un sitio se hace pasar por el nuestro para obtener nuestra información, a esto se le llama CSRF, es decir, forjamiento de peticiones entre sitios y es lo que puede causarnos más daño.