next up previous contents
Next: Sviluppo dell'HTTP Up: Il World-Wide Web Previous: Indirizzi globali per le

Il meccanismo di trasmissione

 

L'HTTP (HyperText Transfer Protocol, [BLFN96]) è un protocollo che in realtà non serve solamente a trasmettere ipertesti, ma anche testo semplice, immagini o qualsiasi altro tipo di oggetto; il nome deriva dall'essere stato introdotto dall'inizio nella struttura del WWW come protocollo nativo del servizio.

È un semplice protocollo richiesta-risposta simile ad altri già estremamente diffusi sulla Rete, come FTP [PR85] o NNTP [KL86], ma a differenza di questi è senza stato: questa scelta è evidentemente dovuta al modello architetturale generale, in cui la disponibilità di un oggetto è univocamente determinata dalla propria URL.gif Inoltre, durante le fasi di richiesta dell'oggetto il client fornisce al server una lista (pesata) dei formati riconosciuti e il server risponde con le informazioni nel formato che riesce a produrre; in questo modo, particolari client e server possono scambiarsi dati in formato non generalmente standardizzato, per uso particolare o sperimentale. Lo stesso meccanismo è disponibile per la negoziazione del linguaggio dei documenti (francese o italiano piuttosto che inglese) che si desidera ricevere: purtroppo queste caratteristiche sono scarsamente utilizzate allo stato attuale.

La richiesta HTTP dal client viene aperta con un codice dell'operazione (chiamato metodo in ossequio alla terminologia della programmazione orientata agli oggetti) e con la URL dell'oggetto. Il metodo ``GET'' è definito come idempotente in quanto preserva lo stato del Web; ``PUT'' è definito come aggiornamento, mentre ``POST'' come meccanismo di inserimento di nuovi oggetti sul Web o come sottomissione di moduli riempiti o altri oggetti al server. Attualmente, l'uso di PUT e POST è limitato a causa delle limitate capacità degli editori ipertestuali, e altri metodi sono in studio.

Mentre gli oggetti sono trasferiti sulla Rete, le meta-informazioni (e cioè le informazioni su di essi) sono trasferite nell'intestazione (header) della risposta HTTP: i campi validi sono un'estensione di quelli del meccanismo MIME [BF93]. Questa architettura consente il trasferimento di file binari e in formati non standardizzati, oltre a consentire la trasmissione di metainformazioni, come il titolo di un oggetto per un'immagine grafica, che non sarebbero normalmente presenti nell'oggetto. In particolare, viene trasmesso il campo Content-Type che indica il formato del documento così come generato dal server sulla base della negoziazione, e che verrà utilizzato dal browser per ``trattare'' la risposta.




next up previous contents
Next: Sviluppo dell'HTTP Up: Il World-Wide Web Previous: Indirizzi globali per le

Alessio Bragadini