Dato che vedo del tutto assenti dei tutorial sulla programmazione,volendo contribuire alla comunità, credo che comincerò a parlarvi della programmazione server side anche se la mia esperienza nel fare tutorial è pari a 0 ed accetto correzioni ,consigli e critiche(purché siano costruttive) dato che non ho mai pensato di sapere tutto. Cito la frase di StandardBus dato che mi ha tolto le parole di bocca,
Ingegneri, state alla larga da questo "corso"
Il metodo utilizzato in questo articolo per la spiegazione dei concetti potrebbe altamente schifarvi perché privo di professionalità, ma non siamo qua per insegnare paroloni alla gente, siamo qui perché vogliamo che quanto scritto in questo articolo e in tutti quelli che seguiranno sia il più semplice possibile da capire.
.
Un po' di teoria:
Ogni giorno interagiamo con i più svariati serviti su Internet, Posta Elettronica,Cloud, Collegamento Remoto e chi ne ha più ne metta.
Tali servizi vedono due lati applicativi:
un lato client che usufruisce del servizio
un lato server che offre il servizio, generalmente fornisce il servizio a più client contemperante.
Client e Server dialogano con un protocollo chiamato HTTP. (Vi starete chiedendo cos'è un protocollo, fondamentalmente lo possiamo vedere come un accordo fra partecipanti ad una comunicazione,e su come tale deve procedere). I server gestiscono l'accesso e quindi la condivisione di un insieme di pagine web, mentre i client accedono a tali, facendo richiesta ai server. Ciascun documento web è identificato univocamente da un URL (Uniform Resource Locator), esempio al volo è il seguento indirizzo: http://www.nonsologaming.com/
Operazioni come la visualizzazione di pagine web e la "traduzione delle richieste dell'utente in richieste del client secondo il protocollo HTTP" sono offerte dai browser(quindi Internet Explorer,Mozilla Firefox, Google Chorme, Safari, Opera, ecc..). Cosa significa quindi programmare lato Server?
In un'applicazione software di tipo Desktop(ad esempio Notepad) ad ogni input dell'utente corrisponde una reazione del programma che dipende dallo stato precedente del programma, al contrario in applicazioni di tipo web la gestione dell'aggiornamento dello stato risulta decisamente più complessa in quanto l'utente interagisce con l'interfaccia che si trova nel client ma i dati che descrivono lo stato dell'applicazione risiedono sul server e il protocollo HTTP non consente di sapere quali azioni ha effettuato un certo client in precedenza.
Linguaggi programmazione server side:
I linguaggi lato server quei linguaggi di programmazione che vengono interpretati ed elaborati dal server il quale, successivamente, invia i risultati al client (il browser dell'utente). I linguaggi lato server più diffusi sono il PHP, l'ASP e Java. Un programma scritto con questo tipo di linguaggi viene sempre elaborato sul server e mai reso disponibile all'utente, il quale può visualizzare solo il risultato o output del programma (tipicamente codice HTML). Questo concetto è molto importante in quanto sta alla base della sicurezza e dell'affidabilità offerti dalla programmazione lato server.
Dato che vedo del tutto assenti dei tutorial sulla programmazione,volendo contribuire alla comunità, credo che comincerò a parlarvi della programmazione server side anche se la mia esperienza nel fare tutorial è pari a 0 ed accetto correzioni ,consigli e critiche(purché siano costruttive) dato che non ho mai pensato di sapere tutto. Cito la frase di StandardBus dato che mi ha tolto le parole di bocca,
.Un po' di teoria:
Ogni giorno interagiamo con i più svariati serviti su Internet, Posta Elettronica,Cloud, Collegamento Remoto e chi ne ha più ne metta.
Tali servizi vedono due lati applicativi:
un lato client che usufruisce del servizio
un lato server che offre il servizio, generalmente fornisce il servizio a più client contemperante.
Client e Server dialogano con un protocollo chiamato HTTP. (Vi starete chiedendo cos'è un protocollo, fondamentalmente lo possiamo vedere come un accordo fra partecipanti ad una comunicazione,e su come tale deve procedere). I server gestiscono l'accesso e quindi la condivisione di un insieme di pagine web, mentre i client accedono a tali, facendo richiesta ai server. Ciascun documento web è identificato univocamente da un URL (Uniform Resource Locator), esempio al volo è il seguento indirizzo: http://www.nonsologaming.com/
Operazioni come la visualizzazione di pagine web e la "traduzione delle richieste dell'utente in richieste del client secondo il protocollo HTTP" sono offerte dai browser(quindi Internet Explorer,Mozilla Firefox, Google Chorme, Safari, Opera, ecc..). Cosa significa quindi programmare lato Server?
In un'applicazione software di tipo Desktop(ad esempio Notepad) ad ogni input dell'utente corrisponde una reazione del programma che dipende dallo stato precedente del programma, al contrario in applicazioni di tipo web la gestione dell'aggiornamento dello stato risulta decisamente più complessa in quanto l'utente interagisce con l'interfaccia che si trova nel client ma i dati che descrivono lo stato dell'applicazione risiedono sul server e il protocollo HTTP non consente di sapere quali azioni ha effettuato un certo client in precedenza.
Linguaggi programmazione server side:
I linguaggi lato server quei linguaggi di programmazione che vengono interpretati ed elaborati dal server il quale, successivamente, invia i risultati al client (il browser dell'utente). I linguaggi lato server più diffusi sono il PHP, l'ASP e Java. Un programma scritto con questo tipo di linguaggi viene sempre elaborato sul server e mai reso disponibile all'utente, il quale può visualizzare solo il risultato o output del programma (tipicamente codice HTML). Questo concetto è molto importante in quanto sta alla base della sicurezza e dell'affidabilità offerti dalla programmazione lato server.