Vai al contenuto
Offerte

Firefox Local Mode: siti in HTTPS da una cartella senza server

In questo articolo Indice dei contenuti 2 sezioni

Testare una pagina Web in HTTPS direttamente dal computer, senza installare un server e senza configurare certificati, adesso è parecchio più semplice grazie a Firefox Local Mode. Mozilla ha aggiunto a Firefox una funzione che permette agli sviluppatori di collegare una cartella locale a un indirizzo HTTPS personalizzato. Il browser carica così file HTML, CSS e JavaScript come se appartenessero a un vero sito, aggira alcuni limiti tipici degli indirizzi file:// e lascia spazio agli esperimenti con le API del browser.

Un tempo bastava aprire un file nel browser per capire se tutto funzionava, perché le pagine erano fatte quasi solo di HTML, fogli di stile e qualche script. Poi sono arrivate la Same Origin Policy, le API più avanzate, i Service Worker e varie protezioni legate all’origine, e quel metodo è diventato sempre meno affidabile. Per riprodurre il comportamento di un sito reale gli sviluppatori sono passati ai server locali, di solito raggiungibili su indirizzi come http://localhost:8000, con configurazioni aggiuntive quando serviva HTTPS. Con Local Mode Mozilla cambia approccio e affida al browser il compito di associare un’origine Web a una directory del file system. I server di sviluppo non diventano inutili in ogni situazione, ma per pagine statiche e prove in JavaScript i preparativi si accorciano parecchio.

Come funziona Local Mode e come attivarlo

Il cuore del sistema è una corrispondenza, chiamata mapping, tra un’origine HTTPS scelta dall’utente e una cartella sul computer. Quando Firefox incontra una richiesta diretta a quell’origine va a recuperare i file nella directory collegata. La documentazione di Mozilla porta l’esempio dell’indirizzo https://firefox.localhost abbinato alla cartella /home/alex/app. Una volta impostato il collegamento si naviga l’indirizzo e si accede alle risorse del progetto senza avviare a mano alcun processo in ascolto su una porta TCP.

La differenza sta tutta nella gestione delle richieste. Con un normale server locale il browser apre una connessione verso un servizio HTTP che restituisce i contenuti, mentre con Local Mode è Firefox stesso a gestire internamente il legame tra URL e file. Non c’è bisogno di pubblicare la cartella attraverso un servizio di rete né di predisporre un certificato TLS. L’indirizzo così creato però non equivale a un server HTTPS tradizionale. Offre al browser un’origine valida per caricare i file e per le verifiche di sicurezza della piattaforma Web, ma non diventa un endpoint di rete raggiungibile da altri programmi.

Per usarlo serve Firefox 153 o una versione successiva. Si parte da una cartella con un file index.html e le eventuali risorse CSS e JavaScript, poi si aprono i DevTools con F12 oppure Ctrl+Maiusc+I. Nelle impostazioni degli strumenti di sviluppo si trova la voce Aggiungi nuova mappatura locale, che chiede due informazioni: il dominio personalizzato da usare come origine e il percorso assoluto della cartella. Su Windows si potrebbe collegare https://progetto.localhost a C:SviluppoProgettoWeb, su Linux a un percorso equivalente dentro /home/utente. Con i DevTools ancora aperti basta digitare https://progetto.localhost/index.html nella barra degli indirizzi e la pagina viene caricata direttamente dalla directory. Non occorre modificare il file HOSTS di Windows o Linux né configurare un sistema DNS, perché la mappatura appartiene alla configurazione interna del browser e non cambia la risoluzione dei nomi del sistema operativo.

Gli sviluppatori più esperti possono anche amministrare le associazioni da about:config, il pannello delle preferenze avanzate di Firefox. Mozilla documenta tre preferenze per ogni mapping. La prima contiene il dominio associato, la seconda definisce il percorso assoluto della cartella e la terza, facoltativa, permette di disattivare l’associazione con un valore booleano. Ciascuna porta un indice numerico progressivo che distingue le diverse mappature, per cui le voci con indice 0 appartengono tutte alla stessa associazione.

Local Mode non sostituisce del tutto localhost e Python

Poter provare una pagina HTTPS senza server è senza dubbio comodo, ma sarebbe un errore considerare Local Mode un rimpiazzo universale degli strumenti di sviluppo locali. Per una pagina statica, un prototipo HTML o una dimostrazione JavaScript evita di lanciare il classico comando che avvia un piccolo server HTTP con Python sulla porta 8000. Il vantaggio diventa ancora più evidente quando si lavora su diversi progetti e non si vuole assegnare manualmente una porta a ciascuno.

Il discorso cambia appena entrano in gioco operazioni lato server. Un progetto PHP, un’applicazione Node.js con endpoint dinamici o un software che interroga un database non possono contare soltanto su Local Mode per eseguire il codice, perché il browser di Mozilla legge i file locali ma non prende il posto di un interprete PHP, di un runtime lato server o di un servizio applicativo. Lo stesso vale per Vite e per gli altri server dedicati allo sviluppo frontend, che offrono compilazione dei moduli, trasformazione delle risorse e aggiornamento automatico delle pagine mentre si modifica il codice. Firefox Local Mode non dispone di alcuna funzione equivalente.

Fonte: TecnoAndroid

Condividi:
31 Condivisioni