Se partiamo dal presupposto che tutte le volte che utilizziamo internet ci colleghiamo ad uno o più server, è facile immaginare l'importanza delle applicazioni che girano su questi dispositivi.
Nel mondo internet il server coordina la condivisione delle informazioni; raccoglie le richieste, le elabora e restituisce le risposte al dispositivo connesso.
In questo articolo ci occuperemo in particolare dei web server, ovvero quelle macchine che a fronte di una nostra richiesta internet ci restituiscono una pagina o un risultato.
Vediamo di capire quale meccanismo c'è dietro la comunicazione internet.
Quando digitiamo un indirizzo internet sul nostro browser, mandiamo la richiesta ad un server specifico scelto in base al nome del dominio.
Il server, in base all'estensione dell'elemento ricercato ci restituirà una pagina utilizzando un metodo statico o dinamico.
L'utente non potrà far altro che leggere e guardarne il contenuto interagendo al limite tramite collegamenti ipertestuali che rimandano ad altre pagine.
I siti dinamici o le applicazioni web invece danno la possibilità eseguire interrogazioni mirate o inviare comandi a database remoti.
Se per esempio ci colleghiamo ad una pagina con estensione php o asp, questo indica a noi e al server che la nostra richiesta è di tipo dinamico. La pagina che ci verrà restituita sarà comunque statica, ma è il risultato di un'elaborazione del server.
Una pagina internet che ci restituisce la nostra posta elettronica ricevuta, sarà frutto dell'elaborazione delle nostre credenziali di accesso inserite, il server avrà filtrato la nostra posta elettronica e successivamente solo quella in arrivo; avrà quindi restituito via internet i risultati da noi richiesti.
Quando eliminiamo un messaggio, mandiamo una richiesta al server di questo tipo:
sono l'utente gdavanzo; puoi tentare di eliminarmi il messaggio "prova" dalla cartella "posta in arrivo"?
Il server mi restituirà una risposta:
Il messaggio é stato eliminato
e mi invierà la pagina aggiornata delle email in arrivo.
Ora: se un sito statico è definito esclusivamente frontend perché quello che programmo è esattamente ciò che vedrà l'utente finale, un sito dinamico sarà il risultato di due tipi di programmazione: uno che si occupa di visualizzazione dei risultati (frontend), che sarà simile a quella sopra, e un altro che ha il compito di fornire i contenuti (backend) che lavorerà sul server.
Anche se le aziende tendono a specializzare il personale separando queste due aree, perché tutto funzioni c'è bisogno che le applicazioni lato client lavorino in perfetta sincronia con quelle che girano sui server.
Per questo motivo un esperto ICT deve conoscere entrambe le attività.