WEB SERVER
-
Un Web Server è un server che fornisce servizi sul Web
-
Per comunicare con il client usa i protocolli HTTP o HTTPS
-
Elabora le richieste in arrivo dai client (HTTP request)
-
Invia al client il risultato dell’elaborazione (HTTP response):
-
La richiesta può consistere in una semplice risorsa statica già esistente sul server (una pagina HTML, un’immagine, ecc.). In questo caso la risorsa viene semplicemente inviata al client.
-
In molti casi la richiesta presuppone la creazione della risorsa. In questo caso il web server esegue un programma e invia al client il risultato dell’elaborazione.
-
In ogni caso ciò che arriva la client e una risorsa web standard: una pagina web completa (HTML/CSS/Javascript) o un suo componente.
BROWSER
-
Un Web browser è un HTTP client.
-
È un programma, cioè, che interagisce con un HTTP server, richiedendone i servizi.
-
Riceve i dati dal server e li ricompone
-
Visualizza i risultati inviati dal server come pagine Web, mostrandone il contenuto e interpretando correttamente i linguaggi che vengono utilizzati per descriverne i contenuti
-
Esegue programmi scritti in Javascript elaborando dati, coè, senza necessariamente coinivolgere il server.
LE APPLICAZIONI WEB
-
Quindi programmare per il web significa scrivere due applicazioni in grado di comunicare tra loro. Oggi si parla di:
-
Progettazione e programmazione Front End
-
Progettazione e programmazione Back End
L’ELEMENTO FORM
- L’elemento HTML Form, identificato dal tag <form></form> è uno degli elementi fondamentale nella costruzione della interattività di una pagina web e consente di inviare un gruppo di dati inseriti dall’utente al server. È quindi l’elemento fondamentare nella costruzione di una applicazione client-server.
-
L'elemento <form> può contenere uno o più dei seguenti elementi del modulo:
-
<input>, <textarea>, <button>, <select>, <option>, <optgroup>, <fieldset>,
<label>
-
Oltre agli attributi che condividono con tutti gli altri elementi HTML (id, class, style) l’elemento form e gli elementi contenuti in un form hanno attributi specifici legati alla loro funzione di trasmissione dei dati. I più importanti sono:
-
Attributo ACTION
-
L' attributo action definisce l'azione da eseguire quando il form viene inviato.
-
Normalmente, il modulo viene inviato ad una pagina web dinamica contenete cioè un programma eseguibile dal server.
-
Se scrivo:
<form action="action_page.php">
-
Verrà eseguito lo script server «action_page.php» e il risultato dell’elaborazione verrà inviato al client.
Attributo METHOD
-
L' attributo method specifica il metodo HTTP ( GET o POST ) da utilizzare per inviare i dati:
<form action="action_page.php" method="get">
-
o:
<form action="action_page.php" method=“post">
-
Quando si utilizza GET, i dati del modulo saranno visibili nell’url della pagina e non potranno superare i 2Kb:
Attributi NAME e VALUE
-
L' attributo name specifica il nome con cui il dato inviato sarà identificato nell’elaborazione lato server:
<input id="q" name="q" value="">
-
L' attributo value specifica il valore iniziale che contiene il campo specificato
<input id="origin" type="hidden" name="o" value="0">
INPUT
-
L’elemento <input> elemento è il più importante del <form> e in origine indica un generico elemento in grado interagire con l’utente .
-
La sua funzione è determinato dal valore che assume l’attributo type che, quindi è obbligatorio.
-
<input type = "text"> definisce un campo di input di una riga per l'immissione di testo.
-
<input type = "password"> definisce un campo password (come sopra ma le lettere immesse non sono visibili)
-
<input type = "radio"> definisce un pulsante di scelta esclusiva tra più opzioni alternative che hanno lo stesso attributo name:
-
<type = "checkbox" input> definisce una casella di controllo. Le caselle di controllo lasciare che un utente seleziona zero o più opzioni di un numero limitato di scelte.
-
<input type = "submit"> definisce un pulsante che invia i dati.
-
<input type = "reset"> definisce un pulsante che azzera i dati immessi.
-
<input type = "button"> definisce un pulsante generico, che normalmente lancia un programma lato client.
-
Per type = submit|reset|button l’attributo value definisce l’etichetta che vene mostrata sul pulsante.
TEXTAREA
-
Il tag <textarea> definisce un controllo di input di testo multilinea.
-
Un'area di testo può contenere un numero illimitato di caratteri.
-
Per default il testo viene reso in un font a larghezza fissa (di solito Courier).
BUTTON
-
Il tag <button> definisce un pulsante cliccabile.
-
Contrariamente che per l'elemento input all'interno di un elemento <button> Posso inserire qualsiasi tipo di contenuto.
-
L’attributo type può assumere i valori: submit, button e reset che hanno lo stesso significato che per l’elemento input-
SELECT
JAVASCRIPT
PROGRAMMA È
-
Una serie di istruzioni che il computer è in grado di eseguire
-
Che elaborano DATI (INPUT)
-
Per risolvere un problema implementando un algoritmo
-
E ottenere un risultato (OUTPUT)
COSA È UN LINGUAGGIO DI PROGRAMMAZIONE
-
E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
-
Serve a facilitare la programmazione dei calcolatori rendendo possibile descrivere gli algoritmi e le strutture dei dati in una forma più vicina a quella del linguaggio umano scritto.
-
A seconda del metodo utilizzato per tradurre il testo delle istruzioni in linguaggio macchina vengono suddivisi in due categorie: compilati e interpretati.
LINGUAGGI C OMPILATI
-
Il sorgente (un file di testo con le operazioni da eseguire) viene compilato in codice macchina e viene impacchettato in un particolare file detto eseguibile che il computer è in grado di eseguire direttamente senza bisogno di altro software;
-
È specifico di un determinato sistema operativo e la compatibilità tra sistemi diversi può essere garantita solo dal fatto che esistano compilatori specifici per ogni sistema.
LINGUAGGI S EMICOMPILATI
-
Per semplificare la gestione della compatibilità non si compila il sorgente per uno specifico ambiente ma per una macchina virtuale.
-
Per essere eseguiti i programmi presuppongono che la macchiana virtuale sia installata.
COMPILATO <> INTERPRETATO
-
compilazione:
-
interpretazione
JAVASCRIPT
-
Script in inglese significa "copione" o "sceneggiatura",.
-
Il browser legge una riga, la interpreta e la esegue, poi passa alla successiva e fa la stessa cosa, e così di seguito fino alla fine dello script.
-
Javascript è un linguaggio interpretato
-
L’interprete utilizzato per eseguirlo è il browser
-
è in grado di leggere e scrivere gli elementi HTML.
-
Tramite JavaScript è possibile modificare la struttura del documento HTML in tempo reale, senza interagire con il server
-
può essere utilizzato per convalidare i dati inseriti dall'utente prima di inviarli al server.
-
può essere utilizzato per avere informazioni sul Browser del visitatore.
-
In questo modo possiamo decidere come comportarci a seconda del Browser che sta leggendo la pagina
-
può essere utilizzato per creare i cookie e quindi archiviare e recuperare informazioni sul computer del visitatore
ESEMPI
http://codepen.io/magicbruno/