|
Architettura ed Evoluzione del World Wide Web | ||||||||
|
HyperText Transfer Protocol (HTTP): il protocollo
L’Hypertext Transfer Protocol (HTTP) è il protocollo, standardizzato dall’IETF (Internet Engineering Task Force), utilizzato dal Web per lo scambio dati tra client e server. L’HTTP è un protocollo di livello applicativo, vale a dire un protocollo che permette di scambiare comandi e dati tra i due lati di un’applicazione distribuita, sfruttando una sessione TCP/IP precedentemente instaurata. L’HTTP è basato su un paradigma del tipo domanda/risposta. Generalmente la connessione è instaurata dal browser prima di ogni richiesta e chiusa dal server dopo l’invio della risposta. Il browser invia al server una richiesta tramite un comando espresso sotto forma di testo. Possibili comandi sono:
Nel caso del GET, che è il comando utilizzato per acquisire pagine HTML dal server, il comando è seguito dall’URL della pagina che si intende acquisire e dalla versione del protocollo; ad esempio, un possibile pacchetto di richiesta potrebbe essere: GET /it/benvenuto.htm HTTP/1.0Le altre informazioni presenti nell’URL non vengono trasmesse perché sono state già utilizzate per aprire la sessione TCP/IP tra client e server. Il server risponde con un messaggio contenente la versione di HTTP utilizzata ed un codice che indica il risultato della richiesta (indicazione del buon esito della richiesta oppure un codice d’errore). Seguono poi informazioni sul server ed, infine, il messaggio di risposta al client. Per permettere il trasferimento di dati di tipo differente, il corpo del messaggio di risposta HTTP è in formato MIME (Multipurpose Internet Mail Extensions). Questo vuol dire che l’intestazione della risposta HTTP è completata dalla versione di MIME utilizzata e dal tipo di documento che costituisce il messaggio (MIME Content-Type). Per questo ultimo campo, alcuni dei tipi più comuni sono:
Quindi, un possibile pacchetto di risposta da parte del server, potrebbe essere HTTP/1.0 200 OKServer: NCSA/1.3 MIME-version: 1.0 Content-type: text/html
<HTML> Pagina </HTML> L’informazione sul tipo di dati viene utilizzata dal browser per decidere se elaborare direttamente le informazioni ricevute (come nel caso del testo o delle immagini) o se attivare altri programmi (plug-in, ActiveX, …) per utilizzare queste informazioni. Fig. 29: configurazione plug-in |