Una Rich Internet Application (RIA) è un'applicazione Web progettata per fornire le stesse caratteristiche e funzioni normalmente associate alle applicazioni deskop. Le RIA generalmente suddividono l'elaborazione attraverso Internet / rete individuando l'interfaccia utente e le relative attività e capacità sul lato client e la manipolazione dei dati e il funzionamento sul lato del server delle applicazioni.
Una RIA normalmente viene eseguita all'interno di un browser Web e di solito non richiede l'installazione di software sul lato client per funzionare. Tuttavia, alcune RIA potrebbero funzionare correttamente solo con uno o più browser specifici. Per motivi di sicurezza, la maggior parte delle RIA esegue le parti del client all'interno di una speciale area isolata del desktop del client chiamata sandbox. La sandbox limita la visibilità e l'accesso al file e al sistema operativo sul client al server delle applicazioni sull'altro lato della connessione.
Questo approccio consente al sistema client di gestire attività locali, calcoli, riformattazioni e così via, riducendo così la quantità e la frequenza del traffico client-server, soprattutto rispetto alle implementazioni client-server costruite attorno ai cosiddetti thin client.
Una caratteristica distintiva di una RIA (a differenza di altre applicazioni basate sul Web) è il motore client che fa da intermediario tra l'utente e il server delle applicazioni. Il motore client viene scaricato all'avvio di RIA. Il motore può essere potenziato durante le operazioni successive con download aggiuntivi in cui il motore funge da estensione del browser per gestire l'interfaccia utente e le comunicazioni del server.