24 Feb 2011 0 commenti
Tutte le pagine web, con qualsiasi linguaggio di programmazione siano scritte, che visitiamo sono localizzate su un web server.
Cosa è un web server? Non è nè più nè meno che un normalissimo pc (o macchina). Su tale pc saranno presenti dei file di vario genere che, in parte, sono del tutto identici a quelli presenti sui nostri pc (ad esempio mp3, immagini in formato jpg, gif etc. etc.) ed in più altri tipi di file che, come vedremo, hanno alcune peculiarità.
Così come avviene sui nostri pc tali file sono ordinati ed archiviati in cartelle e sottocartelle.
Ciò che contraddistingue tale macchina rispetto ai nostri pc è che parte dei file in esso contenuti sono accessibili dalla rete, generalmente attraverso un protocollo detto HTTP (HyperText Transfer Protocol) che è una modalità di trasferimento dei dati in una rete.
Coloro che accedono ai file in esso contenuti vengono definiti Client.
L'accesso a tali file avviene attraverso l'URL (Universal Resource Locator) che indica la localizzazione di un file in rete e si compone nel seguente modo:
http://nomehost/percorso/nomefile
Quindi un url si compone in questo modo: (http://) modalità di trasferimento dei dati, (nomehost) nome della macchina che contiene i file, (/percorso/) il percorso fra le cartelle, (nomefile) il nome del file che vogliamo visualizzare.
Volendo banalizzare, un web server è un pc collegato alla rete e sul quale è istallato un programma che consente di far visualizzare i file in esso contenuti a dei client (utenti navigatori).
La visualizzazione di una pagina web (contenente scritte, colori, immagini, etc. etc.) è frutto dell'elaborazione di un codice. Infatti, in origine, le pagine web sono scritte su un normale blocco note con all'interno del codice.
L'elaborazione di tale codice presente all'interno di tali file può essere fatta dal client attraverso il suo browser (il programma di navigazione, ad esempio Internet Explorer, Mozilla Firefox, etc etc) o dal server.
I linguaggi di programmazione detti "Lato client" prevedono una elaborazione del loro codice attraverso il browser e questi sono l'HTML javascript e css. Infatti cliccando sul tasto destro del mouse su una qualsiasi pagina web e selezionando HTML o codice sorgente (a seconda dei browser) sarà possibile vedere il codice elaborato dal browser. Quindi la rappresentazione a video di un sito web, e alcune delle sue animazioni, sono generate dall'elaborazione che il browser eseguirà dei linguaggi lato client.
Il php (ma anche asp) è un linguaggio "Lato server" in quanto la loro elaborazione è fatta direttamente dal web server il quale restituirà al client, in genere al browser del client, anzichè il codice originale con cui è scrito il file (codice php), l'elaborazione di questo: Il php sarà quindi interpretato dal server e andrà a generare, a sua volta, un linguaggio lato client (ad esempio HTML).
Sintetizzando: se un browser punta su una pagina php presente sul server questo file verrà prima elaborato dal server e questo restituirà al browser HTML, javascript e css. Ad esempio, una pagina php con il seguente codice:
<html> <head> <title>Mia prima pagina php</title> </head> <body> <p> <?php echo 'ciao'; ?> </p> </body> </html>
dopo l'elaborazione del server restituirà al browser il seguente codice:
<html> <head> <title>Mia prima pagina php</title> </head> <body> <p> ciao </p> </body> </html>
La cosa essenziale è che per il client sarà impossibile visualizzare il codice sorgente cioè sarà impossibile risalire al php: egli riceverà solo codice html, javascript e css.
Pertanto, se volete iniziare a realizzare i vostri script in php avete bisogno necessariamente di un server in grado di interpretarlo. Potete eseguire delle prove su uno dei diversi servizi di hosting gratuiti on line oppure istallare sul vostro pc uno dei programmi atti a tale scopo quali XAMPP o EasyPhp.
Olimpio Romanella
Sono un appassionato di Web Developing con un particolare debole per php. Mi dedico principalmente dello sviluppo back-end ed in particolare programmazione lato server con php, sviluppo di database relazionali MySql e progettazione di CMS di piccole e medie dimensioni.
Mi avvalgo del framework javascript Jquery, utilizzando molti dei suoi plugin e nei dei miei progetti utilizzo spesso il framework MVC Codeigniter.