Variabile d’ambiente

Una variabile di ambiente definisce alcuni aspetti dell'ambiente di un utente o di un programma che possono variare. Generalmente impostata durante la procedura di login, per un utente la variabile d'ambiente stabilisce alcuni componenti dell'ambiente di lavoro dell'utente, come la stampante predefinita, il browser o l'editor di testo da utilizzare. Poiché questi sono preimpostati come valori specifici per l'utente identificato, fanno risparmiare tempo che verrebbe utilizzato selezionandoli ad ogni accesso. Le variabili di ambiente vengono utilizzate in più lingue e sistemi operativi per fornire informazioni alle applicazioni che possono essere specifiche per la richiesta dell'utente.

La shell UNIX utilizza variabili di ambiente per inviare informazioni sull'ambiente dell'utente (come la directory di lavoro corrente o il tipo di terminale, ad esempio) ai programmi in esecuzione. Le definizioni delle variabili vengono trasmesse a qualsiasi programma non integrato nella shell e possono essere consultate o modificate dal programma. Ad esempio, "TERM" (le variabili di ambiente sono espresse in lettere maiuscole per convenzione di programmazione) definisce il tipo di terminale utilizzato, "PATH" definisce le directory in cui cercare i programmi corrispondenti ai nomi dei comandi e "USER" definisce il particolare utente, in modo che i permessi di accesso possano essere controllati per ogni richiesta.

La Common Gateway Interface (CGI) utilizza le variabili di ambiente impostate quando il server esegue il programma gateway, per passare le informazioni sulle richieste dal server allo script. Il server invia le definizioni delle variabili di ambiente come "SERVER_SOFTWARE", che identifica il nome e la versione del software del server che risponde; "SERVER_NAME", che identifica il nome host, l'alias DNS o l'indirizzo IP (Internet Protocol) del server; e "GATEWAY_INTERFACE", che identifica la specifica CGI utilizzata. Queste variabili di ambiente non sono specifiche della richiesta e vengono inviate con ogni richiesta. Altre variabili di ambiente sono specifiche del tipo di richiesta inviata, come "SERVER_PROTOCOL", che identifica il nome e la revisione del protocollo utilizzato per la richiesta, e "REQUEST_METHOD", che identifica il metodo utilizzato per la richiesta.