¿Cuándo utilizar "enrutamiento del lado del cliente" o "enrutamiento del lado del servidor"?

Estoy un poco confundido acerca de esto, y me siento un poco estúpido haciendo esta pregunta, pero quiero entenderlo.

Entonces, digamos que estoy trabajando con un marco web del lado del cliente, como Backbone, Angular o Durandal. Este marco incluye enrutamiento.

Pero, por supuesto, todavía tengo un servidor para cosas de la base de datos, y así sucesivamente, que también tiene enrutamiento.

Mi pregunta ahora es:

¿Cuándo usar "enrutamiento del lado del cliente" o "enrutamiento del lado del servidor"?

¿Cómo se "decide" si el enrutamiento ya se realizó en el lado del cliente o si la solicitud se envía primero al servidor web?

Me resulta especialmente difícil imaginar esto porque el lado del cliente podría enrutar antes de que el servidor conozca esa solicitud.

Estaría muy agradecido si alguien pudiera explicar cómo estos dos sistemas de enrutamiento funcionan juntos.

P.S .: No he incluido ejemplos de código porque no estoy buscando una respuesta sobre un marco en particular, sino sobre el proceso de enrutamiento en general.

Respuestas a la pregunta(3)

Su respuesta a la pregunta