INTERNET E IL PROTOCOLLO HTTP

php logoPrima di parlare del linguaggio PHP รจ bene fare alcune premesse sul web. Internet la possiamo considerare come una serie di dispositivi interconnessi tra loro. In genere questi dispositivi nelle rete internet vengono detti host o sistemi periferici. Gli host sono connessi tra loro tramite una serie di collegamenti (wi-fi, fibra) e router. Affinchรฉ gli host possano comunicare correttamente, รจ necessario avere delle regole per lo scambio di dati. Queste regole sono dette protocolli. Quando noi apriamo un browser e digitiamo un indirizzo per visitare un sito web, tecnicamente รจ avvenuta una comunicazione tra il nostro dispositivo (pc, smartphone, tablet e quanto altro) e il dispositivo che ospita il sito web. In questa tipologia di comunicazione il nostro dispositivo viene chiamato client mentre lโ€™altro server. รˆ il modello client server che ben conosciamo in quanto trattato piรน volte. Maggiori informazioni sul protocollo http le trovi a questo indirizzo: https://www.marcoalbasini.com/2021/07/livello-applicazione-il-protocollo-http/

model client server.

EFFETTUARE UNA RICHIESTA

Il protocollo http รจ implementato sia lato client che lato server, lato client nel browser web, lato server allโ€™interno di un applicativo chiamato web server. Un server รจ un dispositivo che ospita e fornisce delle risorse allโ€™interno della rete internet, risorse che sono raggiungibili tramite URL (Universal Resource Locator). Supponiamo che il client richieda la documentazione php, tramite protocollo HTTPS che รจ sostanzialmente http ma con un livello di sicurezza in piรน, la cifratura dei dati scambiati. Ma come facciamo a sapere lโ€™indirizzo del server che ospita la documentazione PHP? Cosรฌ come ogni abitazione รจ dotata di un numero civico, Cap, indirizzo di modo che se vogliamo scrivere una lettera a un nostro amico sappiamo come raggiungerlo, anche i dispositivi connessi a Internet sono dotati di un indirizzo univoco chiamato IP (Internet Protocol) . Quando il client fa la richiesta al server oltre allโ€™informazione sul contenuto cercato invia anche il proprio indirizzo IP. Abbiamo detto che lato server il protocollo http รจ implementato nel web server; quindi, lo scambio di dati avviene tra il browser e il web server.

Request

LINGUAGGI LATO SERVER E LATO CLIENT. IL DNS

Quando un client tramite browser digita un indirizzo URL, il nome del dominio viene trasformato tramite server DNS nellโ€™indirizzo IP dellโ€™host su cui risiede la risorsa richiesta. I server DNS sono server presenti nella rete il cui compito รจ quello di associare gli IP con i corrispettivi domini. Quando viene fatta una richiesta, ad esempio, a google.com tale nome mnemonico viene trasformato nellโ€™indirizzo IP del server di Google. La richiesta puรฒ essere un file multimediale, ma anche una pagina html o uno script PHP. Il linguaggio PHP รจ un linguaggio di scripting eseguito sul server (Apache o Nginx).

DNS

Esistono due tipologie di linguaggi, quelli compilati e quelli interpretati. Vediamo una figura.

Languages

Ma ritorniamo al nostro modello client-server, quando un client effettua una richiesta per uno script PHP, il web server non รจ in grado di tornare subito la risposta, questo perchรฉ come dicevamo il linguaggio PHP o meglio il codice del linguaggio deve essere prima interpretato.

Request script PHP

Siccome il browser non รจ in grado di comprendere il codice PHP, lato web server il codice interpretato viene trasformato in una pagina HTML comprensibile al browser.

Response script PHP

PREDISPORRE Lโ€™AMBIENTE

Affinchรฉ possiamo sviluppare e testare le nostre applicazioni PHP, dobbiamo configurare il dispositivo sia come client che come server. Come client รจ giร  in grado di operare in quanto abbiamo il browser web, come server abbiamo bisogno di un web server in grado di prendere in carico e gestire le richieste. I due web server maggiormente usati sono Apache e Nginx, ognuno ha pro e contro. I software da installare lato server, oltre al web server sono, PHP e MySQL. Infatti, i dati delle nostre applicazioni PHP potrebbero essere dinamici, da qui la necessitร  di memorizzarli in un database MySQL. In questi post utilizzeremo XAMPP come ambiente software, esso ha giร  in sรฉ tutte le componenti che ci servono, inoltre come ambiente di sviluppo utilizzeremo Visual Studio Code.

Predisposition

INSTALLARE XAMPP SU WINDOWS E V.S CODE

Per quanto riguarda XAMPP lโ€™applicativo รจ reperibile al seguente indirizzo: https://www.apachefriends.org/ scegliere la versione per il proprio sistema operativo. Scaricare e installare il programma, va bene la directory predefinita ossia c:/xampp sotto Windows. Installare ovviamente il web server Apache, MySQL e phpMyAdmin per gestire il database.

Il linguaggio PHP. XAMPP

Apache si collega sulla porta 80 per le connessioni http e sulla porta 443 per le connessioni https. Se avete queste porte impegnate, Apache non si avvierร  a meno che non si intervenga sui file di configurazion. Il consiglio al momento รจ quello di liberare le porte in uso. Una volta installato XAMPP digitare http://localhost per verificare che lโ€™installazione sia andata a buon fine. Per quanto riguarda V.S Code lโ€™indirizzo รจ il seguente: https://code.visualstudio.com/ย  Scaricare e installare la versione per il proprio sistema operativo, e aggiungere le estensioni per il PHP.

Il Linguaggio PHP, Extension V.S Code