En una aplicación web impulsado por la base de datos, lo que el usuario debe ver cuando la base de datos no está disponible?

StackOverflow https://stackoverflow.com/questions/1671663

Pregunta

Si una aplicación web se basa en una base de datos para servir contenido dinámico y que el contenido no está disponible por cualquier razón (servidor de base de abajo, etc.), ¿cuál es el método preferido para el manejo de este escenario?

  1. redirigida al visitante a una página 404?
  2. Mostrar la página de todos modos, pero incluyen algún tipo de mensaje de error en el contenido de otro modo sería?
  3. Mostrar una página relacionada con contenido estático?
  4. Otro?

Yo entiendo que el registro de errores adecuada debe producirse, así como notificar al administrador y / o administrador de sistemas. Lo que más me interesa en las mejores prácticas por lo que el usuario final debe ver en esta situación.

¿Fue útil?

Solución

# 3 si se puede (por ejemplo, una instantánea de contenido dinámico se toma cada 20 minutos), pero dejar muy claro que se trata de contenido estático como de y se actualizará tan pronto como los problemas del sistema se resuelven.

# 2 si no se puede, siempre y cuando el error es re-impresión legible y no un literal humana de seguimiento de la pila de una excepción de Java o algo por el estilo.

Otros consejos

Haga lo que haga, NO devolver un 404 - su aplicación puede no estar funcionando correctamente, pero no quiere dar la impresión de que la URL es incorrecta. Aparte de cualquier otra cosa, esto podría tener un impacto negativo en el SEO de su sitio.

Si va a devolver un poco de estado HTTP de 200, entonces me gustaría recomendar un "Servicio no disponible" respuesta 503. Esto es más indicativo de un fallo temporal de la aplicación, en lugar de que algo anda mal con la petición HTTP.

Creo que eso depende de cómo atado a la base de datos el contenido de toda la página es. Por ejemplo, en nuestras aplicaciones web, si la base de datos es hacia abajo y luego no hay ningún método de autenticación; nuestro único recurso sería una pantalla de error de medida para el efecto de 'Estamos teniendo problemas ahora; parada de nuevo más tarde'.

Ahora; si el contenido dinámico es similar a una cita del día en la parte superior de un archivo estático en su mayoría, a continuación, un mensaje de error simple en lugar del contenido; u omisión de contenido dinámico todos juntos sería apropiado.

Por lo tanto; depende de lo que el servicio ofrece la página, y si es o no puede proporcionar algo útil sin el back-end.

Creo # 3 es probablemente el mejor, pero no siempre es factible. Si eso no es posible, una especie de "dificultades técnicas, por favor stand by ..." podría ser mejor (obviamente, se puede cambiar la fraseología a algo mejor). Sólo evitar la impresión de realidad ERROR: ERR_123 / SIGSEGV! (O algo así) en grandes letras rojas. Esto hace que los usuarios piensan que su aplicación se rompe y no puede regresar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top