Quali sono le differenze tra protocolli http e https

Di sicuro ti starai chiedendo quali siano le differenze tra protocolli http e https. Bene sei capito nel giusto articolo! Molto probabilmente ognuno di noi si sarà chiesto almeno una volta: che cosa è internet? Internet non sono altro che due o più dispositivi che comunicano tra loro scambiandosi informazioni e dati. Ed effettivamente quando accediamo ad internet è proprio quello che facciamo: quando digitiamo sulla barra degli indirizzi l’indirizzo di un sito web il client (il nostro dispositivo) comunica con il server e questi due dispositivi non fanno altro che scambiarsi informazioni e dati, infatti noi diciamo al server quale pagina vogliamo (oltre ad inviargli altre informazioni) e il server ci restituisce la pagina richiesta che non è altro che dei file messi insieme tra di loro creando così la pagina web. Questi file possono essere file HTML, CSS, immagini etc.

differenze tra protocolli http e https

Per fare in modo che diversi dispositivi possano scambiarsi informazioni, c’è bisogno di regole che gestiscano questo processo e queste ultime sono anche chiamate protocolli. In questo articolo andremo a vedere le differenze tra protocolli http e https.



Il protocollo HTTP

L’HTTP (HyperText transfer protocol) è un protocollo usato per la trasmissione di informazioni sul web all’interno dell’architettura client-server. Esempio di ciò è il nostro browser che funge da client (cliente) e il server che è un altro dispositivo connesso alla rete il quale ha al suo interno delle risorse web.

Le risorse HTTP sono localizzate grazie al URL che tutti conosciamo, infatti questo non è altro che l’indirizzo di una pagina web che scriviamo spesso sulla barra di ricerca del browser. Quando noi chiediamo una risorsa al server facciamo quindi partire una sessione HTTP.

Funzionamento di una sessione HTTP

Quando apriamo una pagina web, facciamo partire una sessione HTTP con il server. Cosa succede quando ciò accade? Andiamo a vedere passo passo cosa succede tra il client e il server quando per esempio vogliamo aprire la pagina www.bountynews.it/cosa-sono-e-cosa-significano-i-codici-di-stato-http/

  1. Il client fa partire una connessione TCP al server www.bountynews.it usando come porta di default la numero 80. Questa infatti è la porta dalla quale il server ascolta i client che vogliono prendere una risorsa dal server stesso.
  2. Il client quindi invia un messaggio di richiesta HTTP in cui vengono mandate al server alcune informazioni, tra cui la pagina che vogliamo aprire. Per capire meglio analizziamo l’immagine sotto

differenze tra protocolli http e https

L’immagine sopra è l’header di richiesta che il client invia al server. In questo header il client invia alcune informazioni che servono al server e in particolare possiamo notare la prima riga nella quale ci sono tre informazioni fondamentali:

  • Il metodo di richiesta che in questo caso è GET. Ci sono diversi metodi di richiesta come: GET, HEAD, POST, DELETE.
  • L’indirizzo della pagina richiesta, quindi dove si trova nel server la pagina che vogliamo vedere. In questo caso c’è l’indirizzo relativo, ovvero è stata omessa la parte precedente dell’indirizzo e quindi l’ poteva esserci scritta pure una cosa così: http://bountynews.it/cosa-sono-e-cosa-significano-i-codici-di-stato-http/   
  • La versione del protocollo usato che in questo caso è il HTTP 1.1

Sotto questa prima riga ci sono altre informazioni che il client invia al server, come per esempio le lingue accettate, i tipi di file accettati, l’URL da cui è partita la richiesta e altre cose.

3. Una volta che il server ha ricevuto la richiesta cerca la pagina che il client richiede, la mette all’interno di un messaggio di risposta HTTP e lo invia al client

4. Il client riceve la risposta che ha questa forma:

differenze tra protocolli http e https

La prima riga contiene tre informazioni:

  • La versione del protocollo utilizzato che ovviamente è lo stesso di prima e quindi è HTTP 1.1
  • il codice di stato che non è altro che un codice il quale indica il buon andamento o meno della risposta. Per capire più in dettaglio cos’è questo codice leggi il nostro articolo che spiega cosa sono e cosa significano i codici di stato HTTP
  • La terza informazione è legata al codice di stato e indica la ragione del codice. Per capire meglio leggi la guida di cui ho messo il link prima.

Nelle righe sotto ci sono varie informazioni come per esempio di che tipo è il file mandato, il tipo di server etc.

[Nota: queste richieste e risposte vengono fatte per tutti gli elementi della pagina. Ovvero, per qualsiasi immagine, file HTML, file CSS, video etc. che c’è nella pagina richiesta viene fatta tutta l’operazione spiegata prima. Le immagini sopra per esempio sono relative solo alla richiesta per il file HTML, infatti nel header di risposta c’è scritto Content-Type: text/html.]

Cos'è l'http-tutte le richiesta fatte dal client
In questa immagine c’è una parte delle richieste fatte dal client al server. In questa caso, da come si può leggere in fondo, ci sono un totale di 114 richieste.

Il protocollo HTTPS

Il protocollo HTTPS (HTTP Secure) è un protocollo usato per rendere più sicuro lo scambio di informazioni. Infatti questo viene usato in molti siti importanti, sopratutto in quelli in cui si devono inserire dati sensibili come per esempio quelli della carta di credito.

Le differenze tra protocolli http e https sono diverse, ma la quella principale è che, mentre il protocollo HTTP fa passare le informazioni nel body della richiesta in chiaro e quindi una volta intercettate possono essere usate, il protocollo HTTPS fa la crittografia delle informazioni rendendole così indecifrabili da un probabile malintenzionato.

Questo articolo è concluso. Se hai qualche domanda, proposta o altro scrivi nei commenti 🙂

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.