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. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.