Se dispongo di un sito Web basato sul contenuto e il server Web accede a un CMS per determinare cosa visualizzare sul sito per una determinata pagina. Questo non è particolarmente veloce e richiede potenza di calcolo.
Per risolvere questo usiamo un CDN. Quindi quando colpiamo la cache non abbiamo bisogno di tanta potenza di calcolo e non abbiamo bisogno di accedere al CMS. Se facciamo l'autenticazione dell'utente sul sito questo diventa un problema a causa di quanto segue.
L'autenticazione consente a un utente di registrarsi per un account di accesso a tale account. Ciò consentirà loro di accedere a contenuti speciali, salvare e votare contenuti e visualizzare contenuti personalizzati.
Una volta effettuato l'accesso, la maggior parte delle pagine del sito Web rimarranno le stesse, tranne alcune differenze:
- Vedrai "Benvenuto" nell'intestazione.
- Il menu avrà 3 link aggiuntivi. "Account personale", "Contenuti personali" e "Esci".
Un'implementazione di accesso tipica potrebbe essere simile a questa:
- Richiedi email e password.
- Invia email e password tramite https all'applicazione.
- L'applicazione imposta un cookie di sessione crittografato con l'id utente.
- Verranno richieste future all'applicazione includere il cookie in modo che possa determinare se qualcuno ha effettuato l'accesso e chi è.
- L'intestazione verrà personalizzata di conseguenza in applicazione.
Il problema con questa implementazione è che per poter funzionare è necessario accedere al server Web ogni volta per ogni pagina, eliminando quindi il CDN e il valore che esso fornisce.
Questo sembra non necessario perché, come affermato in precedenza, il sito Web rimarrà per lo più lo stesso anche quando si è connessi.
Ci sono modi per trarre vantaggio da una CDN, ma fornire ancora la funzionalità di accesso che stiamo cercando?