Web Statico e Web Dinamico

pubblicato da s.bellantone

Pagine web statiche

HTML è un linguaggio descrittivo che serve a realizzare documenti multimediali. E' interpretato dal browser che visualizza il contenuto secondo le direttive specificate. Queste direttive sono rappresentate dai tag. Il codice in basso, che contiene la struttura completa di una pagina web standard, visualizza il testo Ciao mondo!! con il formato predefinito del tag <h1> (intestazione di livello 1, cioè il livello di grandezza del font più alto per il tag intestazione).
  <!DOCTYPE html>
        <html>
            <head>
                <title>Titolo della pagina</title>
            </head>
            <body>
                <h1>Ciao mondo!!</h1>
            </body>
        </html>
ciao mondo!!
Se volessimo visualizzare lo stesso testo con tutti i livelli di intestazione (da 1 a 6), dovremmo replicare sei volte la riga all'interno del tag body cambiando il numero di livello da 1 a 6
<!DOCTYPE html>
    <html>
        <head>
            <title>Titolo della pagina</title>
        </head>
        <body>
            <h1>Ciao mondo!!</h1>
            <h2>Ciao mondo!!</h2>
            <h3>Ciao mondo!!</h3>
            <h4>Ciao mondo!!</h4>
            <h5>Ciao mondo!!</h5>
            <h6>Ciao mondo!!</h6>
        </body>
    </html>
ecco il risultato:
ciao mondo!!
La considerazione che viene spontanea a chi pensa da programmatore è che HTML, che non è un linguaggio di programmazione, non consente di usare variabili o istruzioni cicliche e quindi non c'è modo di ottimizzare il codice per evitare di scrivere 6 volte quasi la stessa cosa. Per rendere più chiaro il concetto pensiamo alle tabelline. Chi scrive ricorda che da giovane sin dalle scuole elementari e poi anche alle medie tutti i quaderni a quadretti avevano l'ultima pagina dedicata alla seguente tabella:
tabellina
Se volessimo produrre la stessa cosa in HTML dovremmo scrivere un tag table, al suo interno 10 tag tr (10 righe), dentro ogni tag riga 10 tag td (10 celle o colonne) e all'interno di questi ultimi i numeri della tabellina. Una cosa del genere:
     <table>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                    <td>5</td>
                    <td>6</td>
                    <td>7</td>
                    <td>8</td>
                    <td>9</td>
                    <td>10</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>4</td>
                    <td>6</td>
                    <td>8</td>
                    <td>10</td>
                    <td>12</td>
                    <td>14</td>
                    <td>16</td>
                    <td>18</td>
                    <td>20</td>
                </tr>
                <!-- qui mi fermo perchè avrei dovuto riempire altri 8 tag <tr> e altri 80 tag <td> :( -->
            </table>

Pagine web dinamiche

Una pagina web dinamica è una pagina web arricchita da codice in linguaggio di programmazione che influenza l'output HTML. In pratica, attraverso il linguaggio di programmazione, possiamo creare dinamicamente la tabellina dell'immagine precedente utilizzando le strutture tipiche della programmazione strutturata. Vediamo lo pseudocodice:
 
scrivi <table> 
    per i che va da 1 a 10 
        scrivi <tr> 
            per j che va da 1 a 10
                scrivi <td> 
                    assegna ad n il prodotto di i e j
                    scrivi n 
                scrivi </td>
            fine per
        scrivi </tr>
    fine per 
scrivi </table>   
Le istruzioni in pseudocodice dovrebbero essere chiare: le righe, le colonne e il contenuto delle celle vengono generate automaticamente grazie a due cicli nidificati. Ma, prima di vedere la tabellina sviluppata con un vero linguaggio di programmazione per il web è necessario aver chiara la funzione del browser e del funzionamento della richiesta e della risposta http.

Articolo successivo