In un database web guidato app, quale dovrebbe essere l'utente vede quando il database non è disponibile?

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

Domanda

Se un'applicazione web si basa su un database per servire contenuto dinamico e che il contenuto non è disponibile per qualsiasi ragione (database del server verso il basso, ecc), qual è il metodo preferito per la gestione di questo scenario?

  1. reindirizzare i visitatori a una pagina personalizzata 404?
  2. Visualizzare la pagina in ogni caso, ma includere una sorta di messaggio di errore in cui il contenuto sarebbe altrimenti?
  3. Visualizzazione di un pagina correlata con contenuti statici?
  4. Altro?

Capisco che una corretta registrazione degli errori dovrebbe verificarsi così come notificare il webmaster e / o amministratore di sistema. Sono per lo più interessati a migliori pratiche per ciò che l'utente finale deve vedere in questa situazione.

È stato utile?

Soluzione

# 3 se è possibile (ad esempio, una fotografia istantanea del contenuto dinamico preso ogni 20 minuti), ma rendono chiaro che si tratta di contenuti statici come di

# 2 se non è possibile, a patto che l'errore è umano ri-stampa leggibile e non letterale di stack trace di un'eccezione da Java o somesuch.

Altri suggerimenti

Qualunque cosa tu faccia, NON restituire un 404 - l'applicazione potrebbe non funzionare correttamente, ma non si vuole dare l'impressione che l'URL non è corretto. A parte ogni altra cosa, questo potrebbe avere un impatto negativo sulla SEO del tuo sito.

Se avete intenzione di tornare un po 'di stato HTTP diverso da 200, poi mi consiglia una risposta 503 "Servizio non disponibile". Questo è più indicativo di un guasto temporaneo con l'applicazione, piuttosto che qualcosa di essere sbagliato con la richiesta HTTP.

Credo che dipende da come legato al database del contenuto di tutta la pagina è. Ad esempio, nelle nostre applicazioni web, se il database è giù, allora non c'è metodo di autenticazione; il nostro unico resort sarebbe uno schermata di errore personalizzato per l'effetto di 'Stiamo avendo problemi di oggi; fermare di nuovo tardi'.

Ora; se il contenuto dinamico è simile a una citazione del giorno sulla cima di un file per lo più statica, quindi un semplice messaggio di errore al posto dei contenuti; o omissione di contenuto dinamico tutti insieme sarebbe appropriato.

; dipende da quale servizio nella pagina fornisce, e se sia o non in grado di fornire qualcosa di utile senza il backend.

Credo # 3 è probabilmente la migliore, ma non sempre fattibile. Se questo non è possibile, una sorta di "difficoltà tecniche, please stand by ..." potrebbe essere meglio (ovviamente, è possibile modificare il testo a qualcosa di meglio). Basta evitare in realtà la stampa ERRORE: ERR_123 / SIGSEGV! (O qualcosa di simile) in grandi lettere rosse. Rende utenti pensano la vostra applicazione è rotto e non può tornare indietro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top