Mangiare Senza Glutine disponibile su App Store

Per altre informazioni scrivi a fabriziocaldarelli@negusweb.it

Introduzione ad Internet ed al Web

Da Programmazione Software.

Internet

Giornalisticamente Internet è uno dei termini tecnologici più utilizzati, nascondendone la vera natura ai più e soprattutto confondendo le idee a chi si avvicina a questa tecnologia come addetto ai lavori.

Internet è tecnicamente una rete di computer, costantemente connessi tra loro. Quindi si applicano le stesse identiche regole di una comune rete locale, quella che ormai abbiamo in casa o che abitualmente utilizziamo in ufficio. Nè più nè meno.

Rete PC


Il primo problema per comunicare è quello di "individuarsi" in modo univoco. Pensate a questa rete come ad un isolato di abitazioni. Come fate a trovare la casa del sig. Rossi? Semplicemente conoscendo il suo "indirizzo". La stessa cosa succede per internet e qualsiasi altra rete di PC. Per individuare univocamente un PC bisogna assegnargli un indirizzo, il famoso "IP".

Come è strutturato un indirizzo IP ? Un indirizzo IP, nella versione 4 (la più diffusa presto sostituita dalla versione 6) è costituita da 4 gruppi di numeri che vanno da 0 a 255 divisi dal ".", ovvero:

aaa . bbb . ccc . ddd

dove "aaa", "bbb", "ccc" e "ddd" sono numeri che vanno da 0 a 255.

Detto questo pare subito evidente che tutte le possibili combinazioni di 4 gruppi di numeri che vanno da 0 a 255 sono poco più di 4 miliardi. Quindi abbiamo la possibilità di invidivudare univocamente nella rete internet poco più di 4 miliardi di computer. Sembra un numero elevato ma se togliamo anche tutti gli indirizzi destinati a PC con particolari funzionalità (i server, che spiegheremo più avanti) diventa un limite, tant'è che è stato sviluppato la varsione 6 proprio per risolvere questi problemi

Quando vi collegate alla rete internet è il vostro Internet Provider ad assegnarvi l'indirizzo IP. Questo vuol dire che, nella maggior parte dei casi, il vostro IP su internet cambia ogni volta che il vostro modem accede alla rete. Questo è il caso in cui abbiate un collegamento con "IP dinamico", ovvero un "IP" che può cambiare da una connessione all'altra del vostro modem con l'internet provider. Nel caso in cui, invece, abbiate stipulato un contratto internet con "IP statico", vi sarà riservato un "IP" esclusivamente vostro, che non può essere assegnato a nessun'altro nella rete.

Quali sono i vantaggi nell'avere un IP statico? Semplicemente la possibilità di comunicare al resto del mondo che ad un certo IP corrisponderà sempre e solo un determinato PC.

Ogni computer connesso alla rete internet può mettere a disposizione delle funzionalità ( "servizi", in gergo ) utilizzabili dagli altri utenti della rete. Servizi disponibili ce ne sono di tanti tipi, tra i quali condivisione files, peer2peer, posta elettronica, ftp, gopher, news e web. Tanto per citarne alcuni.

Ragionare con i numeri è comodo per le macchine, ma non per gli esseri umani. Per questo esistono appositi servizi ( il servizio DNS ) che traduce i nomi delle macchine, negli ip corrispondenti.

Esempio: se provate a lanciare un ping su www.negusweb.it, trovere come risultato 81.208.107.24. Questo è l'IP relativo al dominio www.negusweb.it

Si chiamano "server" contemporaneamente sia le macchine su cui risiedono i servizi messi a disposizione, sia il software stesso che produce il servizio. Da qui l'ambiguità della parola server, che in determinate circostanze indica l'hardware (il PC appunto) e altre circostanze in cui indica il software.

Client ( ovvero chi richiede un determinato servizio ) e server ( chi offre un determinato servizio ) comunicano tra loro seguendo delle regole, in gergo protocolli, che ne stabiliscono le modalità di dialogo ( come fossero delle vere e proprie lingue ).

Ora ci concentreremo sul servizio web, per spiegarne una volta per tutte il funzionamento.

Il servizio web consente ai client di richiedere dei files ( "pagine" più comunemente ) contenuti in determinate directory del server. Per comunicare tra loro, client e server, utilizzano il protocollo HTTP ( http://www.faqs.org/rfcs/rfc2616.html ) Infatti quando voi cliccate sul sito http://www.negusweb.it, per esempio, il client comunica al server la volontà di avere la pagina di default del sito www.negusweb.it. Il server web ha internamente configurata il percorso della pagina (in generale le pagine) di default da far visualizzare, nel caso non venga specificata una pagina in particolare.

Abbiamo parlato di pagine, ma non si tratta di pagine tradizionali, ma pagine ipertestuali che inglobano oltre al testo anche contenuti multimediali, come immagini, suoni e animazioni.

All'interno delle pagine ci saranno tutti i riferimenti per consentire al client di scaricare tutti gli altri contenuti presenti nella pagina stessa.

Non abbiamo ancora detto che tutti i trasferimenti avvengono in chiaro, in modalità testo, quindi facilmente leggibili e spiabili. Facciamo una prova. Entriamo nel PROMPT dei comandi cliccando, se state su Windows, su START -> ESEGUI -> cmd.exe Digitate: telnet www.negusweb.it 80 Ora potreste non vedere più cosa state scrivendo se non avete il localecho attivato. Scrivete:

GET / HTTP/1.0‹INVIO>
Host: www.negusweb.it‹INVIO>
‹INVIO>

Troverete stampato tutto il contenuto HTML della pagina e alla fine un messaggio "connessione all'host perduta".

Questo perchè il protocollo HTTP fa riferimento ad una connessione state-less, ovvero con mancanza di stato. La comunicazione termina a risposta avvenuta, cioè


Php connessione stateless.jpg

Quindi il protocollo HTTP una volta inviata la risposta chiude automaticamente la connessione tra client e server. Questo preserva ovviamente il server dal dover tenere contemporaneamente aperte migliaia e migliaia di connessioni, con il rischio di collasso in breve tempo del server stesso.

Da questa breve spiegazione emergono almeno due fattori importanti, riguardanti il Web:

  1. L'impossibilità con il solo protocollo HTTP di tracciare un utente, visto che ad ogni pagina richiesta corrisponde una nuova richiesta al server (come se fosse un nuovo cliente);
  2. Qualsiasi tipo di blocco atto ad impedire la lettura dell'HTML o lo scaricamento delle immagini è praticamente inutile, perchè il browser altro non è che un inteprete dell'HTML ( http://ftp.ics.uci.edu/pub/ietf/html/rfc1866.txt ) ed i blocchi adottabili sono solo a livello software, o meglio a livello browser ( tramite javascript ). Con un qualsiasi altro client a più basso livello ( wget per intenderci ) i blocchi software non agiscono più.