In questa sezione vedremo l'uso del tag <DIV>.
I layers sono stati introdotti da Netscape con il tag <LAYER> ma sono supportati soltanto dal Navigator; con IE si supplisce con il tag <DIV>.
Con questo tag si apre un vero e proprio documento nel documento e, sfruttando gli stili disponibili, si può posizionare nella finestra il documento dove si vuole.
Il controllo delle proprietà della divisione (DIV) si ottiene specificando per la classe a cui si riferisce l'ID (anziché il NAME).
Il fatto che poi si riesca a controllarne anche la visibilità offre una nuova gamma di potenzialità dal punto di vista della resa su browser che vanno molto al di là delle possibilità offerte dall'HTML visto finora. L'uso intensivo degli strati assieme all'uso di Javascript costituisce il DHTML o HTML dinamico. Non siamo ancora alle pagine dinamiche poiché con questa locuzione si intendono delle applicazioni che costruiscono pagine HTML "al volo" (on the fly) prendendo i contenuti da una base dati e trasferendola all'HTML con degli appositi script (ASP, PHP, ZOPE, cgi-bin, ...).
| Esercizio 1: esempio fondamentale di uso degli strati. |
Negli stili disponibili per il DIV c'è top e left da dichiararsi dopo la proprietà di stile position: absolute. Vediamone gli effetti.
| Esercizio 2: esempio più interessante di uso degli strati. |
Con l'uso dei layer e degli stili possiamo dire di avere uno strumento molto potente dal punto di vista dell'impaginazione; di fatto possiamo sovrapporre quanti strati vogliamo potendo per ciascuno definire il proprio layout e la posizione nella finestra.
Una proprietà degli stili dei layer è la visibilità: con un po' di javascript è possibile realizzare degli effetti interessanti come il roll-over.
| Esercizio 3: esempio di rollover sfruttando la proprietà visibility del tag DIV. |
Per trasferire i file dal nostro sistema locale ad un computer remoto in cui (presumibilmente)
gira un web server ci serviamo di una delle prime applicazioni di internet: FTP
(File Transfer Protocol).
FTP è un protocollo, ossia un insieme di regole che permettono a due processi
che girano su due macchine separate di entrare in connessione e di eseguire lo
scambio di file. Esistono dei comandi che vengono lanciati dal client e provocano
l'esecuzione di un comando nel server.
Dunque per effettuare il traferimento di file devono esistere nei due sistemi remoti due processi (che costituiscono l'applicazione client-server FTP):
Se manca uno dei due elementi ovviamente non è possibile trasferire file. (allo stesso modo il web è una applicazione client-server in cui c'è un HTTP client - il browser - ed un HTTP server - o web server).
I comandi di FTP permettono di stabilire la connessione, di eseguire alcuni comandi sul filesystem locale e remoto e di effettuare i trasferimenti. Vediamo i comandi più comuni (che sono quelli che ci servono per scaricare i file nel server).
| COMANDO | Sintassi | Funzione del comando |
|---|---|---|
| ftp | ftp | Lancia il programma client FTP |
| open | open host.dominio |
Chiede al demone ftp residente in host.dominio di aprire una connessione.
ES. open linux.zuccante.edu |
| close | close | Chiude la connessione esistente (ma il programma resta caricato in memoria). |
| bye | bye | Chiude la connessione ed esce dal programma client. |
| user | user username |
Attua l'autenticazione di un utente fornendo il nome utente di sistema.
Molte volte l'accesso ftp avviene come anonymous (FTP anonimo), significa che viene consentito l'accesso ad una parte del file system senza fornire al sistema le generalità di utente, cioè senza, effettivamente, possedere un account in quel sistema. |
| pwd | pwd | Present Working Directory: indica la directory corrente di lavoro. |
| ls | ls | Lista dei file nel sistema remoto (sia che si tratti di un sistema UNIX/Linux che Microsoft). |
| ls | dir | Lista dei file nel sistema remoto mostrando anche le proprietà dei file (dimensione, diritti di accesso, data di ultima modifica). |
| chmod | chmod xyz | Questo è un tipico comando UNIX che permette di cambiare i diritti di accesso di un file. L'opzione xyz che più spesso useremo è 755 che significa abilitare in lettura i file per qualunque utente. |
| cd | cd path |
Cambia directory nel FS remoto.
ES. cd public_html |
| lcd | lcd path |
Cambia directory nel FS locale (local cd).
ES. lcd C:\My Documents\Web |
| mkdir | mkdir path |
Crea una nuova directory nel FS remoto.
ES. mkdir images |
| put | put filename | Trasferisce il file filename dal computer locale al computer remoto (upload). |
| mput | mput file1 file2 ... | Trasferisce più file da locale a remoto. Si possono usare le wildcards (tipo *.html); ad ogni file da trasferire appare il prompt che chiede conferma del trasferimento. |
| get | get filename | Trasferisce il file filename dal computer remoto al computer locale (download). |
| mget | mget file1 file2 ... | Trasferisce più file da remoto a locale. Si possono usare le wildcards (tipo *.html); ad ogni file da trasferire appare il prompt che chiede conferma del trasferimento. |
| prompt | prompt | Commuta lo stato del prompt (richiesta) della conferma trasferimento da ON a OFF o viceversa. Quando ci sono molti file da trasferire è utile per evitare di dover confermare l'operazione ad ogni file. |
| hash | hash | Permette di visualizzare la progressione del trasferimento dei file (per cui si capisce se un trasferimento risulta bloccato o sta funzionando regolarmente). |
| ascii | ascii | Commuta il modo di trasmissione ad ASCII: questo è utile quando si devono mettere in comunicazione due sistemi diversi, per esempio un client Windows e un server Linux: essendo nei due sistemi la codifica dell'"a-capo" diversa (chr(xA)+chr(xD) in Windwos/DOS e chr(xA) in Linux/UNIX) il protocollo attua la conversione dei caratteri nel trasferimento da un sistema all'altro. |
| bin | bin | Commuta il modo di trasmissione in binario: questo è di utilità generale, ed è più indicato per trasferire file binari (.zip, .exe, etc.) |
C:\>ftp [INVIO]
Si apre la sessione di FTP e compare il prompt:
ftp>
A questo punto si richiede la connessione col server:
open [INVIO]
Il server risponde con una stringa simile:
Connected to digi-ftp2.iol.it.
220 digi-ftp2.iol.it FTP server (Digiland ftp Version 1.1 mer ago 23 19:30:00 CET 2000) ready.
User (digi-ftp2.iol.it:(none)):
digitiamo il nome dell'utente e premiamo [INVIO]
331 Password required for (nome_utente_digitato_sopra).
Password:
Digitiamo la password e battiamo [INVIO]. Se la login non è corretta (ad esempio stiamo battendo lettere maiuscole) la connessione sarà comunque stabilita ma non l'accesso al FS. Per riprovare occorre dare il comando "user" e comparirà
(username):
Battiamo lo user name e [INVIO].
331 Password required for (nome_utente_digitato_sopra).
Password:
battiamo la password [INVIO]
Se a questo punto la login è esatta si avrà un messaggio simile:
230 User (nome_che_abbiamo_digitato_sopra) logged in.
ftp>
A questo punto possiamo muoverci nel FS:
cd public_html [INVIO]
se la directory esiste il server risponderà con
250 CWD command successful
ftp>
Digitando ls avremo la lista dei file. Se invece usiamo dir, potermmo avere maggiori informazioni sui file (diritti di accesso)
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for 'file list'.
.login
.login_conf
.mailrc
.profile
.shrc
.mail_aliases
.cshrc
.bash_history
.rhosts
226 Transfer complete.
94 bytes received in 0,04 seconds (2,35 Kbytes/sec)
ftp>
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 9
-rw------- 1 marcob staff 9 Jan 4 09:12 .bash_history
-rw-r--r-- 1 marcob staff 628 Jan 4 09:06 .cshrc
-rw-r--r-- 1 marcob staff 299 Jan 4 09:06 .login
-rw-r--r-- 1 marcob staff 160 Jan 4 09:06 .login_conf
-rw------- 1 marcob staff 371 Jan 4 09:06 .mail_aliases
-rw-r--r-- 1 marcob staff 331 Jan 4 09:06 .mailrc
-rw-r--r-- 1 marcob staff 722 Jan 4 09:06 .profile
-rw------- 1 marcob staff 276 Jan 4 09:06 .rhosts
-rw-r--r-- 1 marcob staff 852 Jan 4 09:06 .shrc
226 Transfer complete.
517 bytes received in 0,05 seconds (10,34 Kbytes/sec)
ftp>
Per posizionarmi localmente nella directory contenente i file da trasferire uso lcd:
ftp> lcd c:\inetpub\wwwroot\html
Local directory now C:\inetpub\wwwroot\html
Per vedere il contenuto della directory locale, invoco con una shell un comando del sistema operativo locale (!dir):
ftp> !dir
Volume in drive C has no label.
Volume Serial Number is 382A-AB9E
Directory of C:\inetpub\wwwroot\html
14/02/01 18.44 <DIR> images
14/02/01 15.37 1.636 index.htm
A questo punto trasferico il file (o ii file):
ftp> put index.htm
200 PORT command successful.
150 Opening ASCII mode data connection for 'index.htm'.
226 Transfer complete.
1636 bytes sent in 0,00 seconds (1636000,00 Kbytes/sec)
Ora posso controllare che in remoto il file esista:
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 4
-rw-r--r-- 1 giuseppe users 1596 Feb 16 18:41 index.htm
226 Transfer complete.
75 bytes received in 0,00 seconds (75000,00 Kbytes/sec)
Per chiudere la connessione uso close o bye.
ftp> close
221 Goodbye.
Copyright @ 2000-2017 Marco Barbato htttp://www.betaingegneria.it

Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale.