Caratteristiche e differenza tra HTTP, SHTTP e HTTPS in informatica

Caratteristiche e differenza tra HTTP, SHTTP e HTTPS in informatica

HTTP

L'”HyperText Transfer Protocol” (acronimo di: protocollo di trasferimento di un ipertesto) è il sistema principale per la trasmissione di informazioni sul web. Il funzionamento dell’HTTP si basa sul meccanismo client/server, cioè su richiesta/risposta. Il client, che in questo caso è il browser dell’utente, esegue la richiesta tramite un “messaggio richiesta”. Il server, che risponde con un “messaggio risposta”, è il web server.

Questo protocollo di trasmissione ha una proprietà importante: la connessione tra server e client è chiusa una volta che la richiesta sia stata soddisfatta. Questa proprietà è comoda per il web, specialmente nel passaggio da una pagina ad un’altra, pagina quest’ultima che può essere memorizzata su un server diverso. Tuttavia, ha il problema che non si riesce a definire uno “stato” sull’utente: per risolvere ciò, si utilizzano i cookie. Tradotti letteralmente in “biscotti”, questi altro non sono che frammenti di testo inviati da un server ad un client/browser e poi rimandati indietro dal client al server, senza modifiche, ogni volta che il client accede allo stesso server. Vengono usati per eseguire autenticazioni e tracking (tracciature) di sessioni e/o per memorizzare informazioni specifiche riguardanti gli utenti che accedono al server.

Nell’HTTP il trasferimento delle informazioni tra il mittente ed il destinatario, avviene senza porre in relazione i dati tra le sessioni precedenti e le successive. Questo, in termini pratici, significa minore quantità di dati da trasferire da server a client e dunque permette una maggior velocità.
Il traffico HTTP avviene, in ricezione e trasmissione, mediante il protocollo TCP (Transmission Control Protocol) inoltre l’utilizzo del HTTP all’interno di un browser viene visualizzato dal prefisso “http” posto all’inizio dell’indirizzo del sito che l’utente sta consultando.

Caratteristiche e differenza tra HTTP, SHTTP e HTTPS in informatica

SHTTP e HTTPS

Tutto il traffico HTTP ha, inoltre, la caratteristica di essere anonimo ed in chiaro. Questo ha creato la necessità di avere delle caratteristiche di sicurezza quali: una cifratura, una verifica dell’integrità del traffico stesso e un’autenticazione di utente/client e server.

Sono stare standardizzate due versioni sicure del protocollo HTTP:

  1. SHTTP: che scambia in chiaro le richieste tra server e client, crittografando solo il contenuto (body) della pagina. Questa tecnica è oramai in disuso ed è stata soppiantata dalla HTTPS;
  2. HTTPS: sviluppata dalla Netscape Communication Corporation , usa criteri più sofisticati per impedire l’intercettazione indesiderata. Nelle righe successive, viene trattata in maniera più esauriente.

HTTPS

L’HTTPS, acronimo di “HyperText Transfer Protocol over Secure Socket Layer”, è una aggiunta al protocollo HTTP di tecniche di sicurezza, per la riservatezza dei dati durante la loro trasmissione nel web.
Si ottiene ciò applicando dei protocolli di crittografia asimmetrica al protocollo HTTP. Questi meccanismi di crittografia/autenticazione sono noti con i nomi di “Secure Sockets Layer (SSL)” e di “Transport Layer Security (TLS)”. Non ci si addentrerà in dettagli tecnici. A differenza dell’HTTP i dati transitano attraverso una porta diversa del PC: al posto della porta 80 si utilizza la 443; per l’utilizzatore finale nulla cambia dal punto di vista operativo.

Dal punto di vista pratico, nella comunicazione tra server e client, avviene inizialmente uno scambio di “certificati digitali”, in modo tale che il server ed il client siano univocamente determinati e che essi siano i soli a conoscere quello che sarà il contenuto della comunicazione. Questo scambio crea un canale criptato, dove saranno scambiati i dati effettivi, senza la possibilità che un terzo incomodo, chiamato in gergo “man in the middle”, possa intercettarli.

L’operazione di criptaggio avviene quando il proprietario di un sito web acquista un certificato da un’autorità di certificazione, come Verisign, o lo genera in proprio. Questo certificato non è altro che un codice di notevole complessità creato ad hoc per uno specifico utente e per uno specifico sito, in una specifica sessione. Oltre il codice vengono acquisite anche informazioni aggiuntive relative alle entità interessate, come ad esempio il nome del server che ospita il sito. Un certificato digitale può essere visto anche come un documento che crea un’associazione tra una persona ed una chiave, qual è nome utente e password.

Un uso del protocollo HTTPS può essere fatto anche all’interno di una rete aziendale (rete intranet) per l’utilizzo della rete stessa da parte dei dipendenti dell’azienda.
Altresì l’HTTPS può essere adoperato da un responsabile del web server per restringere gli accessi al server ai soli utenti/client abilitati.

L’HTTPS è utilizzato soprattutto nel trasferimento di dati “sensibili”, quali posta elettronica (webmail), pagamenti elettronici (e-commerce, home-banking) e nella gestione di archivi di dati che necessitino di protezione e privacy. L’utilizzo del HTTPS all’interno di un browser viene evidenziato dal prefisso “https” posto sempre all’inizio dell’indirizzo del sito.

Il browser in presenza di una connessione HTTPS, in taluni casi, può visualizzare una finestra con tutti i dati caratteristici della connessione e chiedere all’utente l’accettazione del certificato. Tuttavia, come tutti i sistemi di sicurezza, anche l’HTTPS non può dirsi sicuro al 100%.
Per tutte le specifiche tecniche aggiornate, sia dell’HTTP che dell’HTTPS si deve fare riferimento al sito internet ufficiale del W3C

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *