[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]

95. HTTP

Il modo più comune per pubblicare informazioni attraverso la rete è quello di utilizzare un server HTTP (HyperText Transfer Protocol).

Le informazioni pubblicate in questo modo sono rivolte a tutti gli utenti che possono raggiungere il servizio, nel senso che normalmente non viene richiesta alcuna identificazione. Al massimo si impedisce o si concede l'accesso in base al meccanismo di filtro gestito da inetd e tcpd.

95.1 Dal lato del server

Per offrire un servizio HTTP occorre un programma in grado di gestirlo. Di solito si tratta di un demone. Analogamente al servizio FTP anonimo, il server HTTP consente l'accesso a una particolare directory e alle sue discendenti. Si tratta in pratica di una sorta di directory home degli utenti che accedono attraverso questo protocollo.

Un server HTTP non offre solo un servizio di semplice consultazione di documenti: permette anche di interpellare dei programmi. Questi programmi sono collocati normalmente al di fuori della directory da cui si diramano i documenti (HTML o di altro tipo), per evitare che questi possano essere letti. In questo contesto, tali programmi sono definiti gateway, e normalmente vengono chiamati programmi CGI, o cgi-bin.

95.2 Apache

Apache è un server HTTP derivato da quello di NCSA, e costituisce lo standard di fatto per GNU/Linux e molte altre piattaforme.

In queste sezioni viene mostrato il funzionamento di Apache in modo sommario. L'argomento viene trattato meglio nel capitolo 166, ed eventualmente si può consultare anche la documentazione distribuita con Apache (disponibile anche presso http://www.apache.org).

95.2.1 Avvio di Apache

httpd [<opzioni>]

httpd è il server Apache per la gestione del protocollo HTTP. Il programma (demone) può essere avviato da inetd, oppure in modo autonomo. La scelta di avviarlo in modo indipendente da inetd è giustificabile se si vuole ottenere una risposta rapida alle richieste di questo servizio. In effetti, questo è il modo normale di organizzare un server HTTP.

Se si opta per il controllo da parte di inetd, il file /etc/inetd.conf dovrà contenere una riga simile a quella seguente, e si dovrà modificare anche il file httpd.conf.

http	stream	tcp	nowait	nobody	/usr/sbin/tcpd	/usr/sbin/httpd

Nelle sezioni seguenti si fa sempre riferimento a un'installazione in cui il servizio viene avviato in modo indipendente da inetd.

Alcune opzioni

-d <directory-radice-del-server>

Permette di definire la directory che funge come punto di partenza per il servizio che viene offerto. Questa è già definita in fase di compilazione del programma, e il suo valore predefinito dipende dalla scelta di chi ha compiuto questa operazione. Attraverso questa opzione, si può indicare in modo esplicito una posizione diversa, che però può essere scavalcata dalla direttiva ServerRoot del file di configurazione httpd.conf.

-f <file-di-configurazione>

Permette di indicare in modo esplicito il file di configurazione che httpd deve leggere ed eseguire prima di iniziare a gestire il suo servizio. Se il file viene indicato utilizzando un percorso relativo, se cioè manca la prima barra obliqua che identifica la directory radice, si fa riferimento a una posizione relativa che parte dalla directory ServerRoot, ovvero quella definibile con l'opzione -d.

Il valore predefinito di questa opzione, dipende dal modo in cui è stato compilato il programma. Normalmente si tratta del file httpd.conf collocato nella directory /usr/local/etc/httpd/conf/, oppure /usr/etc/httpd/conf/ oppure ancora /etc/httpd/conf/.

File

Apache, nella sua configurazione originale, utilizza una disposizione di file e di directory piuttosto strana dal punto di vista della logica di GNU/Linux. Fortunatamente, le distribuzioni GNU/Linux che forniscono Apache già inserito nel sistema, non rispettano questa organizzazione, e ne utilizzano una più confacente con la gerarchia standard di GNU/Linux.

Di seguito viene descritta questa disposizione, indicando anche la possibile alternativa di un tipico sistema GNU/Linux.

95.2.2 Configurazione

Di solito, non occorre configurare nulla per vedere funzionare il server, vale comunque la pena di dare un'occhiata ai file di configurazione contenuti in /etc/httpd/conf/ e di modificare qualche dato prima di presentarsi all'esterno con il proprio servizio HTTP. Si tratta normalmente dei file seguenti.

Come al solito, non conviene modificare i file originali. Per questo, la distribuzione originale di Apache fornisce i file httpd.conf-dist, srm.conf-dist e access-dist che devono essere copiati in modo da ottenere i nomi elencati precedentemente.

95.2.3 etc/httpd/conf/httpd.conf

Il file di configurazione httpd.conf contiene in particolare le direttive seguenti.

---------

ServerType {standalone|inetd}

Permette di informare Apache sul modo in cui questo viene avviato: in modo autonomo (standalone) o attraverso inetd.

Port <numero-porta>

Si tratta dell'indicazione della porta (di solito è 80 corrispondente a HTTP), necessaria nel caso in cui il demone sia stato avviato in modo autonomo. Infatti, diversamente è inetd a stare in ascolto della porta del servizio HTTP.

User <utente>

Group <gruppo>

Permette di abbinare un utente e un gruppo agli accessi effettuati attraverso il protocollo HTTP. In pratica, quando si legge un file HTML o si interpella un programma CGI, lo si fa come se si fosse l'utente indicato da queste due direttive. Solitamente si utilizza l'utente e il gruppo nobody.

ServerAdmin <email>

L'indirizzo di posta elettronica dell'amministratore del servizio.

ServerRoot <directory>

Rappresenta la directory a partire dalla quale si diramano le informazioni sulla configurazione, sulla registrazione degli eventi e simili. Corrisponde solitamente a qualcosa come etc/httpd/.

ErrorLog <registro-degli-errori>

TransferLog <registro-dei-trasferimenti>

Definiscono i nomi e la collocazione dei file delle registrazioni.

95.2.4 etc/httpd/conf/srm.conf

Il file di configurazione srm.conf contiene in particolare le direttive seguenti.

---------

DocumentRoot <directory-radice-html>

Rappresenta la directory da cui si possono diramare i documenti HTML.

UserDir <percorso-radice-utenti>

Rappresenta un percorso aggiuntivo nel caso si acceda a un utente utilizzando il nome dell'utente stesso preceduto dal simbolo tilde (~). Supponendo di avere una dichiarazione del tipo

UserDir public_html

se si accede all'indirizzo <host>/~daniele/elenco.html si fa riferimento effettivamente al file ~daniele/public_html/elenco.html. In questo modo si evita di esporre l'intera directory personale dell'utente.

DirectoryIndex <file-indice>...

Quando si accede a una directory invece che a un file specifico, se questa contiene un file tra quelli elencati nella direttiva DirectoryIndex viene restituito quel file, invece del semplice elenco del contenuto. Solitamente si utilizza il nome index.html. Questo meccanismo permette di mascherare il contenuto effettivo della directory, oltre che di guidare l'utente del servizio in modo che non si perda in una miriade di file.

IndexIgnore <modello-da-ignorare>...

Quando si consente di accedere a una directory visualizzandone il contenuto (perché manca il file index.html o equivalente), si può fare in modo che alcuni file non appaiano in elenco. Utilizzando questa direttiva, si possono indicare i modelli di file da non includere. Per questo si possono usare i consueti caratteri jolly (punto interrogativo e asterisco).

DefaultType <MIME-type>...

Permette di definire il tipo MIME predefinito di un documento per il quale non si riesca a determinarne il tipo nel modo normale, cioè in base all'estensione. Di solito, questo valore predefinito è text/plain

Alias <directory-fasulla> <directory-reale>

Questo tipo di direttiva, che può essere ripetuta, permette di definire delle directory in posizioni diverse da quelle reali. La directory fasulla fa riferimento a una directory indicata nell'indirizzo richiesto e quella reale indica la directory effettiva nel filesystem. Per esempio,

Alias /icons/ /home/httpd/icons/

fa in modo che l'indirizzo <host>/icons/ faccia in realtà riferimento alla directory /home/httpd/icons/ e non alla directory icons/ discendente da DocumentRoot.

ScriptAlias <directory-fasulla> <directory-reale>

Funziona come la direttiva Alias, ma si riferisce ai programmi CGI.

95.2.5 etc/httpd/conf/access.conf

Il file di configurazione access.conf permette di controllare in qualche modo gli accessi. La sua configurazione è più complessa rispetto a quella degli altri file. In particolare, oltre a normali direttive, si utilizzano dei delimitatori simili a marcatori HTML che permettono di definire il contesto a cui si riferiscono le direttive contenute.

Gli esempi seguenti rappresentano il contenuto normale di questo file.

Esempi

<Directory /home/httpd/html>
Options Indexes Includes ExecCGI
AllowOverride None
order allow,deny
allow from all
</Directory>

Si tratta delle dichiarazioni riferite alla directory /home/httpd/html/, ovvero quella definita in precedenza come DocumentRoot. In pratica vengono consentiti tutti gli utilizzi normali e l'accesso da parte di chiunque.

<Directory /home/httpd/cgi-bin>
AllowOverride None
Options None
</Directory>

Si tratta delle dichiarazioni riferite alla directory /home/httpd/cgi-bin/, ovvero quella destinata a contenere i programmi CGI. Non viene definita alcuna opzione.

95.2.6 Verifica del funzionamento

Avviando il proprio navigatore web preferito e selezionando un indirizzo HTTP corrispondente al nome o all'indirizzo del proprio elaboratore, si dovrebbe vedere la pagina introduttiva della documentazione di Apache.


Figura 95.1: La pagina introduttiva di Apache.

95.3 Dal lato del client

Per poter usufruire di un servizio HTTP occorre un client adatto. In generale, tale client è in grado di accedere anche ad altri servizi, e in questo senso viene definito semplicemente browser o navigatore. Il tipico programma di questo tipo dovrebbe consentire anche la visualizzazione di immagini, ma un buon programma che utilizza un semplice terminale a caratteri può essere utilizzato in qualunque condizione, e per questo, tale possibilità non deve essere scartata a priori.

95.3.1 Uniform Resource Locator -- Uniform Resource Identifier

L'integrazione di diversi protocolli impone l'utilizzo di un sistema uniforme per indicare gli indirizzi, in modo da conoscere subito in che modo si deve effettuare il collegamento. Per questo, quando si utilizza un navigatore web, si devono usare indirizzi espressi in modo standard, e precisamente secondo il formato URI, o Uniform Resource Identifier. Attualmente, è ancora in uso la vecchia definizione, URL, Uniform Resource Locator, che in pratica rappresenta la stessa cosa. Attraverso questa modalità, è possibile definire tutto quello che serve per raggiungere una risorsa: protocollo, nodo (host), porta, percorso. Il formato generale di un URI è il seguente:

<protocollo>//<indirizzo-della-risorsa>

Il protocollo può essere indicato in uno dei modi seguenti.

Quando si vuole fare riferimento a un file locale senza utilizzare alcun protocollo particolare, si può indicare anche il nome file:, ma in questo caso dipende dal client se poi sono richieste due barre oblique, o se ne è richiesta una sola.

L'indirizzo della risorsa viene espresso in maniera differente a seconda del protocollo. Nel caso particolare di HTTP e FTP, e anche per i file locali, si utilizza il formato seguente:

<dominio>[<porta>]<risorsa>

Esempi

http://www.brot.dg:8080/esempi/indice.html

http://www.brot.dg/esempi/indice.html

Come nell'esempio precedente, ma senza l'indicazione della porta che questa volta corrisponderà al valore predefinito, cioè 80.

http://192.168.1.1/esempi/indice.html

Come nell'esempio precedente, ma l'indicazione del nodo avviene per mezzo del suo indirizzo IP invece che attraverso il nome di dominio.

ftp://ftp.brot.dg/pub/archivi/esempio.tar.gz

file://localhost/home/daniele/indice.html

In questo caso si vuole fare riferimento a un file locale. Precisamente si tratta del file /home/daniele/indice.html contenuto nell'elaboratore localhost.

Questo tipo di indicazione è particolarmente utile quando si vuole fare riferimento a una pagina indice o iniziale, caricata automaticamente all'atto dell'avvio del programma client.

file:/home/daniele/indice.html

Esattamente come nell'esempio precedente, con la differenza che si utilizza una sola barra obliqua dopo l'indicazione file:, e di conseguenza non si utilizza più l'indicazione dell'elaboratore localhost.

95.3.2 Tempi morti

Un problema che riguarda un po' tutti i programmi client, sono i tempi morti. Questi programmi, quando tentano di accedere a un risorsa senza riuscirci, restano a lungo in attesa prima di restituire una segnalazione di errore. Se si utilizza un server DNS e questo non risulta raggiungibile, oppure a sua volta non riesce a raggiungere gli altri server DNS di livello superiore, le attese sono dovute al ritardo nelle risposta date dal servizio di risoluzione dei nomi.

All'avvio, la maggior parte dei navigatori cerca di raggiungere la propria pagina di presentazione (home page), e questo richiede un collegamento in funzione in quel momento.

Quando si vuole utilizzare un programma del genere semplicemente per delle attività locali, e si notano questi problemi nelle risposte, se si gestisce un server DNS locale che, almeno temporaneamente, non ha accesso alla rete esterna, si può provare a disattivarlo utilizzando il comando seguente:

ndc stop

In seguito, per riattivarlo basterà utilizzare il comando opposto.

ndc start

Se la propria rete locale non accede mai all'esterno, non è necessario tentare di risolvere nomi che non appartengono all'ambito locale. Se si utilizza un servizio di risoluzione dei nomi basta togliere (commentandola) la direttiva contenuta nel file /etc/named.conf che fa riferimento al dominio principale, rappresentato da un punto singolo.

options {
	directory "/var/named";
};
//
//zone "." {
//	type hint;
//	file "named.root";
//};
// 
zone "0.0.127.in-addr.arpa" {
	type master;
	file "zone/127.0.0";
};

95.4 Lynx

Lynx è la prova di ciò che può fare un buon programma per i terminali senza grafica, anche per la navigazione del web. A prima vista può risultare complicato da utilizzare, ma il tempo necessario per imparare il suo funzionamento sarà ripagato.

Lynx è un navigatore web completo, a parte la limitazione dovuta alla mancanza della grafica. È stato portato su un gran numero di piattaforme, Dos inclusa ( 105.2). La sua semplicità lo rende prezioso in tutte quelle situazioni in cui non è possibile utilizzare il sistema grafico X.

95.4.1 Configurazione

Prima di avviare Lynx la prima volta, conviene controllare il suo file di configurazione generale. Molto probabilmente converrà modificare qualcosa. Si tratta di lynx.cfg che potrebbe trovarsi in /usr/lib/, oppure in /etc/.

Vale la pena di cambiare: l'indicazione della pagina iniziale, la posizione della guida e della pagina indice. Infatti, in questi casi, si fa riferimento a pagine HTML in rete, mentre è normale che ognuno si crei una propria pagina di inizio e che si abbiano a disposizione anche localmente i file della guida.

Queste indicazioni potrebbero apparire come negli esempi seguenti.

STARTFILE:file://localhost/etc/lynx-inizio.html

HELPFILE:file://localhost/usr/doc/lynx-2.6-2/lynx_help/lynx_help_main.html

DEFAULT_INDEX_FILE:file://localhost/etc/lynx-indice.html

In tutti i casi, si fa riferimento a un file nell'elaboratore locale, localhost. Nel primo caso si fa riferimento al file /etc/lynx-inizio.html, nel secondo a /usr/doc/lynx-2.6-2/lynx_help/lynx_help_main.html, e nel terzo a /etc/lynx-indice.html.

Probabilmente, tutto il resto può essere lasciato com'è.

95.4.2 Avvio di Lynx

lynx [<opzioni>] [<file-iniziale>]

lynx è il programma client che consente in particolare di utilizzare il protocollo HTTP. Può essere avviato con l'indicazione di un indirizzo iniziale (di solito una pagina), espresso secondo lo standard URI (Uniform Resource Indicator) oppure può trattarsi semplicemente di un file espresso senza particolari formalità. Se non è indicato alcun file iniziale, viene utilizzato quanto specificato nella configurazione contenuta nel file lynx.cfg, alla voce STARTFILE.

Alcune opzioni

-anonymous

Una particolarità di Lynx è la possibilità di concedere un numero limitato di funzionalità a utenti occasionali. Con questa opzione, si fa in modo che Lynx possa essere utilizzato solo come strumento di lettura ipertestuale, eliminando ogni possibilità di salvataggio di pagine o di dati e di stampa. Può essere molto utile in quelle situazioni in cui si vuole permettere l'utilizzo del programma a persone non controllate, che non sono state registrate nel sistema e che quindi non hanno un utente corrispondente.

-cfg=<file-di-configurazione>

Permette di definire il file di configurazione, quando non si vuole utilizzare quello predefinito corrispondente a lynx.cfg.

-ftp

Disabilita l'utilizzo del protocollo FTP.

-homepage=<indirizzo-URI>

Permette di indicare una homepage differente dalla pagina iniziale. Verrebbe utilizzata in particolare quando si accede alla pagina principale (main).

-index=<indirizzo-URI>

Permette di indicare una pagina indice.

-localhost

Impedisce l'accesso a indirizzi URI esterni all'elaboratore locale. In pratica, obbliga a rimanere all'interno dell'elaboratore locale.

-term=<terminale>

Normalmente, Lynx è in grado di determinare da solo il tipo di terminale a disposizione, in modo da potervisi adattare. A volte, questo riconoscimento non avviene correttamente, e in quei casi è necessario indicare espressamente il nome del terminale. Se utilizzando una console GNU/Linux, o una finestra sotto X, non si distingue il cursore, conviene provare indicando un terminale vt100.

-dump

Fa in modo che l'URI richiesto venga emesso attraverso lo standard output, terminando subito dopo il funzionamento di Lynx.

-nolist

In condizioni normali, quando si utilizza l'opzione -dump si ottiene alla fine del file l'elenco dei riferimenti ipertestuali contenuti nel documento. Con l'opzione -nolist questi vengono omessi.

Esempi

lynx -term=vt100 file://localhost/home/daniele/indice.html

Avvia Lynx specificando il tipo di terminale (vt100) e il file iniziale.

lynx -dump file://localhost/home/daniele/indice.html

Fa in modo che Lynx restituisca attraverso lo standard output l'URI richiesto, dopo averlo trasformato in un file di testo normale.

lynx -dump -nolist file://localhost/home/daniele/indice.html

Come nell'esempio precedente, senza aggiungere in coda l'elenco dei riferimenti ipertestuali contenuti nel documento.

lynx

Avvia Lynx utilizzando esclusivamente la configurazione contenuta nel file lynx.cfg.

Vedere lynx(1) e soprattutto la guida interna che si ottiene con il comando lynx -help.

95.4.3 Funzionamento

Lynx permette l'utilizzo di una serie di comandi abbinati a tasti più o meno mnemonici. Non è disponibile un menu, quindi occorre un minimo di preparazione prima di poter utilizzare Lynx.

L'abbinamento tra i comandi e i tasti corrispondenti è definito all'interno del file di configurazione (lynx.cfg), ma in generale conviene non alterare le definizioni predefinite.

                                               Clean the Clipper 5.2 (p1 of 80)

       This page hosted by [gc_icon.gif] Get your own Free Home Page
     _________________________________________________________________

     [home] [step1][step2][step3] [step4][step5][step6] [step7][links]

                             Clean the Clipper 5.2

   A different way to program using Clipper 5.2 without commands, that
   is, without the file STD.CH.

   All trade names referenced herein are either trademarks or registered
   trademarks of their respective companies. In particular, Clipper
   (CA-Clipper) is a registered trademark of Computer Associates
   International.

                                 !WARNING!
     The informations contained inside this page are version dependent.
                                 !WARNING!
     _________________________________________________________________

-- press space for next page --
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

Figura 95.2: Lynx dopo essere stato avviato con l'indicazione di un indirizzo specifico.

La figura 95.2 mostra in che modo si presenta Lynx dopo essere stato avviato con l'indicazione di una pagina HTML particolare. Nelle ultime righe dello schermo (o della finestra) appare un riepilogo dei comandi principali. Prima di richiamare la guida (help) conviene configurare correttamente il file lynx.cfg al riguardo: molto probabilmente i file della guida sono disponibili localmente, mentre di solito questo file fa riferimento alla guida ottenibile attraverso la rete. Nella sezione dedicata alla configurazione è già stato spiegato come fare per correggere questo particolare.

95.4.3.1 Navigazione e scorrimento del documento

La navigazione all'interno di un documento ipertestuale è relativamente semplice, anche se non si può utilizzare il mouse. In particolare va ricordato l'uso dei tasti freccia, per cui [freccia su] e [freccia giù] servono per spostare il cursore da un riferimento (link) a un altro, [freccia sinistra] permette di tornare al documento precedente e [freccia destra] permette di seguire il riferimento su cui si trova il cursore.

Lynx mantiene la traccia dei riferimenti attraverso cui si è giunti al documento attuale, [Backspace] permette di visualizzarla in modo da poter selezionare un riferimento da lì.

Un'altra cosa importante è la possibilità di ottenere un elenco compatto di tutti i riferimenti contenuti nel documento visualizzato attualmente. Ciò si ottiene con il comando LIST corrispondente al tasto [l] oppure [L].

                                                            List Page (p1 of 5)

                   List Page (Lynx Version 2.8.1pre.9), help

   References in
   file://localhost/home/daniele/Internet/www.geocities.com/SiliconValley
   /7737/clipper52clean.html

    1. http://www.geocities.com/
    2. http://www.geocities.com/
    3. (internal) in Clean the Clipper 5.2 - home
    4. (internal) in Clean the Clipper 5.2 - step1
    5. (internal) in Clean the Clipper 5.2 - step2
    6. (internal) in Clean the Clipper 5.2 - step3
    7. (internal) in Clean the Clipper 5.2 - step4
    8. (internal) in Clean the Clipper 5.2 - step5
    9. (internal) in Clean the Clipper 5.2 - step6
   10. (internal) in Clean the Clipper 5.2 - step7
   11. (internal) in Clean the Clipper 5.2 - links
   12. http://www.cai.com/
   13. (internal) in Clean the Clipper 5.2 - home
   14. (internal) in Clean the Clipper 5.2 - step1
-- press space for next page --
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

Figura 95.3: Il comando LIST permette di ottenere un riassunto di tutti i riferimenti contenuti nella pagina visualizzata.

La tabella 95.1 mostra l'elenco dei comandi utili per la navigazione di un documento ipertestuale.

Comando Tastiera Descrizione
freccia su Sposta il cursore sul riferimento precedente.
freccia giù Sposta il cursore sul riferimento successivo.
freccia sinistra Torna al documento precedente.
freccia destra Segue il riferimento su fui si trova il cursore.
PREV_PAGE pagina su - Visualizza la schermata precedente del documento.
NEXT_PAGE pagina giù + Visualizza la schermata successiva del documento.
HOME Home Ctrl+A Visualizza l'inizio del documento.
END Fine Ctrl+E Visualizza la fine del documento.
Backspace Visualizza i riferimenti seguiti precedentemente.
LIST l L Visualizza un riassunto dei riferimenti contenuti.
MAIN_MENU m Visualizza il documento iniziale (main).
INDEX_SEARCH i Visualizza il documento indice.
GOTO g Permette di indicare un indirizzo URI da raggiungere.
INTERRUPT z Sospende un processo di I/O in corso.
RELOAD Ctrl+R Ricarica il documento corrente.
REFRESH Ctrl+L Ctrl+W Rigenera l'immagine visualizzata sullo schermo.
WHEREIS / Permette di cercare una stringa nel documento.
NEXT n La prossima corrispondenza della stringa di ricerca.

Tabella 95.1: Elenco dei comandi di navigazione di Lynx.

95.4.3.2 Salvataggio stampa e sorgenti

Il documento visualizzato può essere salvato o stampato in vari modi. Il comando di stampa viene richiamato utilizzando il tasto [p], attraverso il quale segue un menu con cui è possibile scegliere il tipo di stampa. In particolare potrebbe essere possibile anche l'invio di una copia a un indirizzo di posta elettronica, o il salvataggio su un file.

Quando Lynx carica un documento, lo trasforma immediatamente nel formato da visualizzare. Per ottenere il sorgente di quel documento occorre ripetere l'operazione di caricamento senza alcuna trasformazione. Questo si ottiene con il tasto [\]. Una volta ottenuto un documento visualizzato come si vuole, si può stampare (o salvare) nel modo visto poco sopra.

                                                                     (p1 of 96)
<HTML>
<HEAD>
   <TITLE>Clean the Clipper 5.2</TITLE>
   <META NAME="description" CONTENT="Cleaning the code of your Clipper 5.2 prog
+rams from commands: no more the STD.CH.">
   <META NAME="keywords" CONTENT="xBase, dBase, Clipper, CA-Clipper">
   <META NAME="Author" CONTENT="Daniele Giacomini - daniele @ evo . it">
   <META NAME="Description" CONTENT="Cleaning the code of your Clipper 5.2 prog
+rams from commands: no more the STD.CH.">
   <META NAME="KeyWords" CONTENT="xBase, dBase, Clipper, CA-Clipper">
</HEAD>
<BODY>

<CENTER><P><B>This page hosted by <A HREF="http://www.geocities.com/"><IMG SRC=
+"gc_icon.gif" BORDER=0 HEIGHT=31 WIDTH=88 ALIGN=CENTER></A>
Get your own <A HREF="http://www.geocities.com/">Free Home Page</A>
<HR><A NAME="home"></A></B>[<A HREF="#home">home</A>] [<A HREF="#step1">step1</
+A>][<A HREF="#step2">step2</A>][<A HREF="#step3">step3</A>]
[<A HREF="#step4">step4</A>][<A HREF="#step5">step5</A>][<A HREF="#step6">step6
+</A>]
[<A HREF="#step7">step7</A>][<A HREF="#links">links</A>] </P></CENTER>
Currently viewing document source.  Press '\' to return to rendered version.
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

Figura 95.4: Il sorgente della pagina può essere visualizzato dopo un'ulteriore operazione di caricamento.

Un documento, o più in generale un file, può essere caricato nella sua forma originale, normalmente per poterlo salvare. Questo si ottiene con il comando DOWNLOAD abbinato normalmente al tasto [d]: quando viene premuto si ottiene il caricamento del file a cui punta il riferimento su cui si trova il cursore in quel momento. Il file viene collocato in una posizione transitoria, quindi viene richiesto all'utente cosa farne: salvarlo o altro. Anche quando si vuole avere un documento HTML senza trasformazioni conviene utilizzare questo sistema. Infatti, il caricamento del sorgente con il tasto [\] espande i caratteri di tabulazione.

Comando Tastiera Descrizione
PRINT p Stampa/salva il documento così come appare.
SOURCE \ Carica e visualizza il sorgente del documento.
DOWNLOAD d D Carica il file a cui punta il riferimento evidenziato.

Tabella 95.2: Elenco dei comandi di stampa e salvataggio di Lynx.

95.4.3.3 Menu di opzioni

Con il comando OPTIONS normalmente richiamabile con il tasto [o], è possibile ottenere il menu delle opzioni, attraverso il quale è poi possibile modificare alcuni comportamenti di Lynx. La figura 95.5 mostra un esempio di ciò che può apparire. In particolare, per richiamare una voce da modificare, si utilizza il tasto corrispondente alla lettera maiuscola della voce stessa.

              Options Menu (Lynx Version 2.8.1pre.9)

     E)ditor                      : NONE
     D)ISPLAY variable            : NONE
     mu(L)ti-bookmarks: OFF       B)ookmark file: lynx_bookmarks.html
     F)TP sort criteria           : By Filename
     P)ersonal mail address       : NONE
     S)earching type              : CASE INSENSITIVE
     preferred document lan(G)uage: en
     preferred document c(H)arset : NONE
     display (C)haracter set      : Western (ISO-8859-1)
     Raw 8-bit or CJK m(O)de      : ON      show color (&)  : ON
     V)I keys: OFF    e(M)acs keys: OFF     sho(W) dot files: OFF
     popups for selec(T) fields   : ON      show cursor (@) : OFF
     K)eypad mode                 : Numbers act as arrows
     li(N)e edit style            : Default Binding
     l(I)st directory style       : Mixed style
     U)ser mode                   : Novice        verbose images (!) : ON
     user (A)gent                 : Lynx/2.8.1pre.9 libwww-FM/2.14



  Select capital letter of option line, '>' to save, or 'r' to return to Lynx.
Command:

Figura 95.5: Durante il funzionamento, Lynx può essere configurato parzialmente.

95.4.3.4 Segnalibro

I riferimenti (link) più importanti possono essere salvati in un file apposito. Il nome e la posizione di questo file è definito nel file di configurazione lynx.cfg e comunque può essere cambiato con il menu di configurazione appena descritto sopra.

Per salvare un riferimento nel segnalibro, o bookmark, si utilizza il comando ADD_BOOKMARK collegato normalmente al tasto [a]. Subito dopo viene richiesto di specificare cosa si intende salvare. Con il tasto [d] si intende salvare il riferimento alla pagina corrente, con il tasto [l] si intende salvare il riferimento su cui si trova il cursore.

Per richiamare l'elenco dei riferimenti salvati, si utilizza semplicemente il tasto [v]. Mentre si visualizza questo elenco, oltre che selezionare un riferimento, si può anche eliminare ciò che non serve più, con il tasto [r].

95.4.3.5 Conclusione

Il funzionamento di Lynx viene concluso con il comando QUIT, [q], oppure ABORT, [Q]. Nel primo caso viene chiesto di confermare la richiesta, nel secondo no.

95.4.3.6 Documentazione

Lynx, anche se non sembrerebbe, è un programma complesso e molte delle sue potenzialità non sono state descritte. Lynx è accompagnato normalmente da una buona documentazione interna che vale la pena di leggere.

95.5 Altri client HTTP

Oltre a Lynx sono disponibili molti altri tipi di client HTTP. In particolare, nell'ambito del software commerciale è disponibile Netscape che è descritto nella sezione 197.3.

---------------------------

Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]