Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
HTTP così come l’FTP, TCP etc.. è un protocollo di trasferimento. Ideato agli inizi del
Web vero e proprio, per trasferire informazioni sul web. Opera solitamente sulla porta
80.
Esistono varie implementazioni dell’HTTP sviluppate nel corso degli anni. Questo per far
fronte ad alcune carenze della versione iniziale. L’HTTP funziona su un meccanismo
richiesta/risposta (client/server).
Tra i metodi di richiesta più conosciuti nell’HTTP vi sono GET e POST.
Mentra tra gli header di richiesta: Host (Nome del server a cui si riferisce l’URI)
e User-Agent (Identifica il client, quindi il browser, la versione etc..).
Gli header della risposta più comuni sono:
Server. Indica il tipo e la versione del server. Può essere visto come l’equivalente
dell’header di richiesta User-Agent
Content-Type. Indica il tipo di contenuto restituito. La codifica di tali tipi (detti
Media type) è registrata presso lo IANA (Internet Assigned Number Authority ); essi
sono detti tipi MIME(Multimedia Internet Message Extensions).
Alcuni tipi usuali di tipi MIME incontrati in una risposta HTML sono:
HTTP ad ogni richiesta effettua una nuova connessione al server che viene chiusa al
termine del trasferimento dell'oggetto richiesto (pagina HTML, immagine, ecc.).
È gestito da un software (server HTTP) residente sugli host che intendono essere
fornitori di informazioni. Chi vuole accedere alle informazioni fornite dal server HTTP
deve utilizzare un software client (browser) in grado di interpretare le informazioni
inviate dal server.
Questo protocollo è invocato da TCP/IP ogni qualvolta l'URL (che è una stringa che
specifica la risorsa a cui riferirci) istanziata contiene nel primo campo la parola http. I
comandi utilizzati per comunicare con esso sono detti Metodi.
CONNESSIONE: Il client crea una connessione TCP-IP con il server usando il suo
nome di dominio (o il numero IP) ed il numero della porta di trasmissione; se non
viene fornito il numero di porta, il protocollo assume per default che il numero
sia 80.
RICHIESTA DOCUMENTO: Il client invia la richiesta di un documento mediante una
riga di caratteri ASCII terminata da una coppia di caratteri CR-LF (Carriage
Return, Line Feed).
RISPOSTA: La risposta inviata dal server è un messaggio in linguaggio HTML nel
quale è contenuto il documento richiesto (o un messaggio d'errore).
SCONNESSIONE: Il server subito dopo aver spedito il documento si sconnette.
Comunque anche il client può interrompere la connessione in ogni momento, in
questo caso il server non registrerà nessuna condizione d'errore.
Messaggi
Gli oggetti implicati nella comunicacine client/server prendono il nome di
messaggi. La richiesta di un client e la risposta di un server sono messaggi. Essi
sono trasmessi in un formato simile a quello usato per le E-mail che prende il
nome di Multipurpose Internet Mail Extensions (MIME).
Il server deve comunicare al client il tipo MIME utilizzato nella risposta e il client
deve comunicare, attraverso il campo accept, al server quali formati può gestire.
Un cliente manda una richiesta ad un server, fornendogli un uri che localizza la risorsa
sul server, per poi ricevere un risposta da quest’ultimo.
Nel caso più semplice si apre una singola connessione attraverso un socket che connette
il client (browser) con il server http.
Per ridurre il traffico sulla rete e per velocizzare i trasferimenti più frequenti, sono stati
introdotti i Proxy Server che generalmente supportano una cache memory. I dati che
attraversano il Proxy server, vengono memorizzati su una memoria di massa in modo da
poter essere restituiti il più rapidamente possibile durante successive richieste
identiche.
L'idea alla base del "Caching" é semplice: archiviare il documento ricevuto in un file
locale per usarlo di nuovo, senza che sia necessario riconnettersi al server remoto
quando quel documento sará nuovamente richiesto.