Il concetto base da assimilare prima di intrappredere qualsiasi sviluppo legato al Web è individuabile nella distinzione tra script server-side e script client-side.
A prescindere dai protocolli di ricerca del server (DNS) e di trasmissione dei dati (HTTP basato su TCP/IP) che verranno utilizzati per trasferire una pagina dal web server al client dell'utente è fondamentale capire come il contenuto della pagina venga generato e interpretato.
La programmazione lato server è dedicata proprio alla generazione del contenuto, sia esso HTML, XML, JPEG/GIF o qualsiasi altro formato che sarà successivamente inviato al client (sia esso un browser grafico come Internet Explorer o Mozilla oppure un client testuale come Linx o addirittura un comando che cattura l'output di una chiamata HTTP come wget).
Il flusso legato ad una richiesta del browser può essere delineato, semplificando, in questi passaggi:
1- il web server che riceve la richiesta cerca (fetch) all'interno del file system dell'host su cui gira, il file sorgente associato
2- in base alla configurazione del web server questo file può venire o meno processato da un interprete che ne effettuerà un parsing eseguendo ciò che riconoscerà essere un'istruzione
3- il contenuto ottenuto, assieme ad indicazioni sulla tipologia dello stesso, viene ritornato al browser
4- il browser legge il MIME type del file predisponendosi ad interpretarlo, eventualmente utilizzando plug-in associati al particolare tipo
5- il contenuito viene finalmente mostrato all'utente
PHP è un linguaggio che viene interpretato sul server e, nel caso sia stato installato come modulo, dal web server. Questo significa che l'utente non vedrà mai, se il file è stato correttamente interpretato, il codice sorgente ma piuttosto il risultato delle elaborazioni che sono state effettuate sul web server remoto, in generale mostrate tramite HTML.
D'altra parte linguaggi come Javascript sono interpretati direttamente dal client. Cioè il browser quando incontra dei tag (in genere del tipo ) si attiva per eseguire le istruzioni che vi sono incluse.
Può essere banale ma deve essere ben chiaro che le informazioni legate all'esecuzione di script client-side non sono utilizzabili dagli script server-side a meno che esse vengano esplicitamente inviate al server tramite una ulteriore chiamate HTTP.
Storia di PHP, introduzione al linguaggio, ambiti di applicazione (web, linea di comando, applicazioni GUI).