Firefox permette di provare siti Web in HTTPS senza un server locale: come fare

Con Firefox Local Mode è possibile associare cartelle locali a indirizzi HTTPS, testare API Web e gestire più progetti senza avviare un server. Vediamo funzionamento, configurazione, vantaggi e limiti.

Provare una pagina Web direttamente dal proprio computer, senza installare un server HTTP e senza configurare certificati HTTPS, è diventato molto più semplice con Firefox Local Mode. Mozilla ha introdotto questa funzionalità in Firefox consentendo agli sviluppatori di associare una cartella locale a un indirizzo HTTPS personalizzato: il browser può così caricare file HTML, CSS e JavaScript come se appartenessero a un sito Web, evitando alcune limitazioni tipiche degli indirizzi file:// e permettendo di fare esperimenti con le API del browser.

Quando le pagine erano composte prevalentemente da documenti HTML, fogli di stile e qualche script JavaScript, spesso bastava aprire un file nel browser per verificarne il funzionamento. L’introduzione della Same-Origin Policy, di API avanzate, Service Worker e meccanismi di protezione basati sull’origine ha progressivamente reso meno affidabile questo approccio. Per riprodurre il comportamento di un sito reale, gli sviluppatori hanno quindi cominciato a utilizzare server locali, generalmente disponibili su indirizzi come http://localhost:8000, aggiungendo ulteriori configurazioni quando serviva HTTPS.

Con Firefox Local Mode, Mozilla propone una soluzione diversa: lasciare al browser il compito di associare un’origine Web a una directory creata a livello di file system locale. La funzionalità non elimina la necessità dei server di sviluppo in ogni situazione, ma può ridurre le operazioni preliminari per testare pagine statiche e funzionalità JavaScript.

Come funziona Firefox Local Mode: un sito HTTPS senza server Web

L’utente definisce una corrispondenza, chiamata mapping, tra un’origine HTTPS personalizzata e una cartella presente sul computer: quando Firefox incontra una richiesta destinata all’origine configurata, utilizza la directory associata per recuperare i file.

La documentazione Mozilla mostra un esempio concreto: l’indirizzo https://firefox.localhost associato alla directory /home/alex/app.

Dopo aver impostato il collegamento, lo sviluppatore può navigare l’indirizzo HTTPS e accedere alle risorse del progetto attraverso il browser, senza avviare manualmente un processo incaricato di ascoltare su una porta TCP.

Il dettaglio più interessante riguarda proprio la gestione delle richieste. Con un normale server locale, Firefox apre una connessione verso un servizio HTTP, che restituisce i contenuti richiesti. Con Local Mode, invece, il browser gestisce internamente la corrispondenza tra URL e file locali. Non occorre pubblicare una directory attraverso un servizio di rete, né predisporre un certificato TLS per l’origine personalizzata.

L’indirizzo HTTPS creato con Local Mode, tuttavia, non corrisponde a un server HTTPS tradizionale: la modalità locale offre al browser un’origine utilizzabile per il caricamento dei file e per le verifiche di sicurezza della piattaforma Web; non crea un endpoint di rete raggiungibile da altri programmi.

Come attivare Local Mode in Firefox

Per utilizzare la funzionalità Local Mode bisogna disporre di Firefox 153 o di una versione successiva del browser.

Si può iniziare preparando una semplice cartella con un file index.html e le eventuali risorse CSS e JavaScript abbinate. Dopo aver aperto Firefox, basta premere F12 oppure Ctrl+Maiusc+I per visualizzare i DevTools. Dalle impostazioni degli strumenti di sviluppo basta cliccare su Aggiungi nuova mappatura locale per registrare una nuova associazione.

Firefox Local Mode

Ogni mapping richiede due informazioni fondamentali: il dominio personalizzato che Firefox utilizzerà come origine e il percorso assoluto della cartella contenente i file.

Su Windows, per esempio, si potrebbe associare l’origine https://progetto.localhost alla cartella C:\Sviluppo\ProgettoWeb. Su Linux, un percorso equivalente potrebbe essere /home/utente/progetto-web.

Una volta registrata l’associazione, mantenendo aperti DevTools, si può digitare nella barra degli indirizzi https://progetto.localhost/index.html per provare il caricamento della pagina. Firefox recupera i file dalla directory configurata, senza richiedere l’esecuzione di un server Web dedicato.

Non serve modificare il file HOSTS di Windows o Linux, né configurare manualmente un sistema DNS: il mapping appartiene infatti alla configurazione interna del browser Mozila e non rappresenta una modifica generale alla risoluzione dei nomi del sistema operativo.

Gestire Local Mode con about:config e automatizzare le configurazioni

Una caratteristica meno evidente, ma interessante per gli sviluppatori più esperti, riguarda la possibilità di amministrare le associazioni direttamente attraverso about:config, il pannello delle preferenze avanzate di Firefox.

Mozilla documenta tre preferenze per ciascun mapping. Il nome della prima segue lo schema devtools.local-mode.mappings.${index}.origin e contiene il dominio associato.

La seconda, devtools.local-mode.mappings.${index}.path, definisce il percorso assoluto della cartella locale. La terza, devtools.local-mode.mappings.${index}.disabled, è facoltativa e permette di disabilitare l’associazione mediante un valore booleano.

Il segnaposto ${index} rappresenta un identificativo numerico progressivo che distingue le associazioni. Per esempio, le preferenze devtools.local-mode.mappings.0.origin e devtools.local-mode.mappings.0.path appartengono al mapping identificato dall’indice 0.

Local Mode sostituisce davvero localhost, Python e i server di sviluppo?

La possibilità di provare una pagina HTTPS senza server è indubbiamente utile, ma sarebbe sbagliato considerare Local Mode un sostituto universale di tutti gli strumenti di sviluppo locali.

Per una pagina statica, un prototipo HTML o una dimostrazione JavaScript, la funzionalità integrata in Firefox può evitare comandi come python -m http.server 8000, comunemente utilizzato per avviare un piccolo server HTTP con Python. La differenza è ancora più evidente quando bisogna gestire diversi progetti e si vuole evitare di assegnare manualmente una porta a ciascuno.

Le cose cambiano quando l’applicazione richiede operazioni lato server. Un progetto PHP, un’applicazione Node.js con endpoint dinamici oppure un software che interroga un database non può fare affidamento soltanto su Local Mode per eseguire il codice. Il browser di Mozilla legge i file locali, ma non sostituisce un interprete PHP, un runtime server-side o un servizio applicativo.

Lo stesso vale per strumenti come Vite e altri server dedicati allo sviluppo frontend, che possono offrire compilazione dei moduli, trasformazioni delle risorse e aggiornamento automatico delle pagine durante le modifiche al codice. Firefox Local Mode non presenta assolutamente funzionalità equivalenti.

Ti consigliamo anche

Link copiato negli appunti