Un buon modo per affrontare questo tipo di problema è avere un altro dominio / sottodominio / (o anche un servizio CDN) dedicato al servizio di file statici (immagini, script, fogli di stile, documenti, ecc.)
Quindi, ad esempio, nelle semplici applicazioni web:
Percorso dell'applicazione: / www / app /, percorso dei file statici: / www / static /
quando l'utente carica un file, salvandolo su /www/static/complex/folder/structure/file.ext, quindi salva i dettagli su questo file caricato nel database.
e poi servendo il file tramite static.my-amazing-web.app
Ciò che ti consentirà di fare è: sfruttare facilmente la cache del browser degli utenti, fare ottimizzazioni al volo, scalare con le CDN quando le cose iniziano a sfuggire di mano e tutti i tipi di cose divertenti.
Ciò consentirà anche di implementare più sicurezza per i file caricati dagli utenti.
È inoltre consigliabile avere un file server statico con l'esecuzione dei file bloccati, per migliorare la sicurezza del server dai caricamenti di utenti malintenzionati.