Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Passare da HTTP a HTTPS

Come migrare un sito Web da HTTP ad HTTPS e come gestire i reindirizzamenti dai vecchi ai nuovi URL delle pagine
Come migrare un sito Web da HTTP ad HTTPS e come gestire i reindirizzamenti dai vecchi ai nuovi URL delle pagine
Link copiato negli appunti

Nelle lezioni precedenti abbiamo mostrato le caratteristiche principali dei certificati SSL, le sue diverse tipologie e come ottenerne di gratuiti.

In questa lezione ci occuperemo del protocollo HTTPS e nello specifico di come migrare il proprio sito web da HTTP a HTTPS, in modo da metterlo in totale sicurezza.

Il protocollo HTTP

Il protocollo HTTP (Hypertext Transfer Protocol) è il protocollo che viene adoperato per trasferire risorse di vario genere (testi, immagini, audio, video, etc.) all'interno del World Wide Web. HTTP è un protocollo che lavora secondo un'architettura di tipo client/server.

Nello specifico, il client esegue una richiesta e il server restituisce la risposta. In pratica, quando apriamo il nostro browser e digitiamo l'indirizzo di un sito Web nella barra degli URL, stiamo indirettamente facendo uso di questo protocollo.

Ogni server Web contiene, oltre alle risorse che può servire, un demone HTTP, un programma progettato per attendere le richieste HTTP e gestirle quando arrivano. Il client che si occupa di eseguire le richieste HTTP, invece, è il nostro browser.

Quando il demone HTTP nel server riceve la richiesta, la elabora e risponde inviando il file o i file richiesti.

L'aspetto importante di questo protocollo è che lavora scambiando stringhe di testo ordinarie. In altre parole, l'HTTP comunica con il testo in chiaro e quindi senza l'uso di accortezze particolari per adoperare un canale di comunicazione sicuro.

Questo comportamento, però, non è un deficit o una mancanza progettuale ma anzi, come del resto molti altri protocolli del panorama del World Wide Web, una specifica vera e propria.

Il protocollo HTTPS

Se è vero che il protocollo HTTP è stato progettato per permettere lo scambio di dati in chiaro, è anche vero che certe tipologie di informazioni, come quelle inerenti il nostro conto bancario, non possono viaggiare senza esser state prima messe in sicurezza.

A tal proposito ci viene in aiuto il protocollo HTTPS che è l'acronimo di HyperText Transfer Protocol Secure (Protocollo di trasferimento ipertestuale sicuro), ma che viene anche chiamato HTTP Secure (HTTP sicuro) e HTTP over SSL (HTTP su SSL).

Questo protocollo permette di proteggere i dati criptandoli prima di inviarli, grazie all'uso di un certificato SSL.

Perché l'HTTPS è importante?

Il motivo per usare l'HTTPS concerne la volontà di proteggere tutte le informazioni inviate tramite la rete Internet tra un client e un server. HTTPS fornisce tre livelli di protezione:

  1. Integrità dei dati. I dati non possono essere modificati o corrotti durante il trasferimento, intenzionalmente o meno.
  2. Crittografia. I dati sono crittografati e quindi al sicuro da chi cerca di rubare le informazioni.
  3. Autenticazione. Dimostra che gli utenti stanno comunicando con il server previsto e protegge il client da eventuali attacchi di impersonificazione.

Il processo per passare da HTTP a HTTPS

Il passaggio da HTTP a HTTPS è piuttosto semplice e consiste in una serie di passaggi che riportiamo:

  1. acquistare un certificato SSL (o prenderne uno gratuito come visto nella lezione precedente).
  2. Assicurarsi che tutti i link interni del proprio sito Web vengano cambiati da HTTP a HTTPS, in modo che non smettano di essere raggiungibili dopo il passaggio a HTTPS.
  3. Installare il certificato SSL sull'host del proprio sito Web.
  4. Impostare i reindirizzamenti 301 da HTTP a HTTPS.

La procedura descritta non è per niente complessa e l'unico passaggio che potrebbe presentare delle difficoltànella migrazione a HTTPS è quello riguardante il punto quattro.

Reindirizzamenti 301 da HTTP a HTTPS

L'utilizzo dei reindirizzamenti 301 rende generalmente la migrazione da HTTP a HTTPS molto più pulita ed efficiente.

In questo modo i motori di ricerca vengono avvisati che gli indirizzi del nostro sito sono cambiati e che chiunque abbia inserito tra i preferiti una determinata pagina viene automaticamente reindirizzato all'indirizzo che adopera l'HTTPS.

301 è uno dei tanti possibili codici di stato HTTP, alcuni dei quali probabilmente sono già noti (tra cui 404 - Not Found, 403 - Forbidden e 500 - Server Error).

Quando si visita una pagina Web e il server invia la pagina normalmente, il codice di stato che viene attribuito alla pagina è 200 - OK.

Un codice di stato 301 segnala un reindirizzamento permanente da un URL a un altro, il che significa che tutti gli utenti che richiedono un vecchio URL saranno automaticamente inviati a un nuovo URL.

Si può pensare a un reindirizzamento 301 come a uno spedizioniere di posta. Una volta spostato un contenuto da un URL specifico, chiunque tenti di visitarlo riceverà un messaggio 404 - pagina non trovata.

Se non utilizziamo i reindirizzamenti 301, molto probabilmente il nostro SEO verrà seriamente danneggiato e questo è da evitare. La trattazione di questa problematica sarà approfondita nella successiva lezione di questa guida.

Per concludere, molte società di hosting offrono pacchetti che includono in genere sia un certificato SSL, la sua installazione automatica e l'impostazione del reindirizzamento 301 dell'intero sito Web.

Possibili problemi

L'aggiunta del reindirizzamento HTTPS a un intero sito Web potrebbe generare qualche difficoltà che è bene tenere a mente:

  • problemi di velocità - Il sito Web potrebbe rallentare: l'HTTPS richiede una comunicazione supplementare tra i server. Questo potrebbe comportare un rallentamento.
  • Costi: i certificati SSL sono costosi, soprattutto per i siti Web di piccole dimensioni. Tuttavia, come abbiamo visto nelle lezioni precedenti, esistono opzioni gratuite, come Let's Encrypt, per passare all'HTTPS.
  • Non tutte le applicazioni possono funzionare con HTTPS. Le applicazioni Web più datate potrebbero non essere in grado di gestire gli URL su HTTPS.
  • La cache del browser non funziona sempre correttamente. Nelle connessioni SSL, tutto viene crittografato, comprese le intestazioni dei pacchetti e il contenuto. Qualsiasi cache che potrebbe essere avvenuta tra i punti in cui i dati vengono crittografati e decrittografati viene bloccata se il contenuto è crittografato.

Conclusioni

Il passaggio da HTTP a HTTPS presenta importanti vantaggi che superano di gran lunga gli svantaggi che abbiamo riportato.

Tra questi, i più importanti riguardano la sicurezza di un sito Web, una maggiore fiducia da parte dei propri clienti, una maggiore sicurezza dei dati e persino la possibilità che i motori di ricerca possano classificare il nostro sito Web con un ranking SEO più elevato.

Ti consigliamo anche