Un server web
Il browser chiede, il server risponde. Richieste e risposte HTTP, un server vero con mist e wisp, strade e metodi, pagine HTML e moduli, un'API JSON, e i processi della BEAM che servono tanti utenti insieme.
7 lezioni · circa 175 minuti di lettura · livello avanzato
0/7
Alla fine saprai
- Capire com'è fatta una richiesta HTTP e la sua risposta, e maneggiarle con gleam_http
- Avviare un server web con mist e wisp, e interrogarlo con il browser e con curl
- Smistare le richieste per strada e metodo, restituire pagine HTML, leggere moduli e JSON
- Provare un gestore senza avviare il server, e condividere uno stato tra le richieste con un attore
- 1 Come parla il web 20 min Prima di scrivere un server, bisogna sapere che lingua parla. Richieste e risposte HTTP, metodi, percorsi, intestazioni e codici di stato, e il pacchetto gleam_http che li trasforma in normali valori Gleam. 20 min
- 2 Il primo server 20 min Un server web vero in quindici righe. I pacchetti mist e wisp, il gestore delle richieste, parlare con il server dal browser e da curl, fermarlo, e cosa succede se la porta è già occupata. 20 min
- 3 Strade e metodi 25 min Un gestore che guarda la richiesta. Smistare per percorso con il pattern matching sulle liste, rispondere secondo il metodo, leggere la query, e provare il gestore con wisp/simulate, senza accendere nessun server. 25 min
- 4 Middleware, pagine e moduli 25 min Funzioni che avvolgono il gestore. Scrivere un middleware con use, quelli già pronti di wisp per i log e gli errori, costruire pagine HTML senza aprire la porta agli attacchi, e ricevere i dati di un modulo. 25 min
- 5 Un'API JSON 25 min Un server che parla con altri programmi. Rispondere in JSON, leggere il JSON che arriva con require_json e un decoder, e scegliere il codice di stato giusto per ogni errore, da 415 a 422. 25 min
- 6 Tanti utenti insieme 25 min Dove entrano in gioco i processi del modulo 7. Un processo per ogni connessione, un crash che non tocca gli altri, e uno stato condiviso tra tutte le richieste, custodito da un attore e passato ai gestori in un contesto. 25 min
- 7 Riepilogo e sfida finale 35 min HTTP, mist, wisp, strade, middleware, moduli, JSON e attori in una pagina, tre domande di controllo, e un libro degli ospiti vero, con una pagina per le persone e un'API per i programmi. 35 min