Qual è la differenza tra HTTP e HTTP?

Hypertext Transfer Protocol (http) è un sistema per trasmettere e ricevere informazioni su Internet. HTTP funge da procedura di richiesta e risposta che tutti gli agenti su Internet seguono in modo che le informazioni possano essere diffuse rapidamente, facilmente e accuratamente tra i server, che contengono le informazioni, e i client, che stanno cercando di accedervi. Http è comunemente usato per accedere alle pagine html, ma è possibile utilizzare anche altre risorse tramite http. In molti casi, i client possono scambiare informazioni riservate con un server, che deve essere protetto per impedire l’accesso non autorizzato. Per questo motivo, https, o http sicuro, è stato sviluppato da Netscape Corporation per consentire l’autorizzazione e le transazioni protette.

In molti modi, https è identico a http, perché segue gli stessi protocolli di base. Il client http o https, come un browser Web, stabilisce una connessione a un server su una porta standard. Quando un server riceve una richiesta, restituisce uno stato e un messaggio, che può contenere le informazioni richieste o indicare un errore se parte del processo ha avuto un malfunzionamento. Entrambi i sistemi utilizzano lo stesso schema URI (Uniform Resource Identifier), in modo che le risorse possano essere identificate universalmente. L’uso di https in uno schema URI anziché di http indica che si desidera una connessione crittografata.

Esistono tuttavia alcune differenze principali tra http e https, a partire dalla porta predefinita, che è 80 per http e 443 per https. Https funziona trasmettendo le normali interazioni http attraverso un sistema crittografato, in modo che, in teoria, le informazioni non siano accessibili a nessun soggetto diverso dal client e dal server finale. Esistono due tipi comuni di livelli di crittografia: Transport Layer Security (TLS) e Secure Sockets Layer (SSL), che codificano entrambi i record di dati scambiati.

Quando si utilizza una connessione https, il server risponde alla connessione iniziale offrendo un elenco di metodi di crittografia supportati. In risposta, il client seleziona un metodo di connessione e il client e il server si scambiano i certificati per autenticare le loro identità. Al termine, entrambe le parti si scambiano le informazioni crittografate dopo essersi assicurati che entrambe stiano utilizzando la stessa chiave e che la connessione venga chiusa. Per ospitare connessioni https, un server deve disporre di un certificato di chiave pubblica, che incorpora le informazioni sulla chiave con una verifica dell’identità del proprietario della chiave. La maggior parte dei certificati viene verificata da una terza parte in modo che i client abbiano la certezza che la chiave sia sicura.

HTTP viene utilizzato in molte situazioni, come pagine di accesso per servizi bancari, moduli, accessi aziendali e altre applicazioni in cui i dati devono essere protetti. Tuttavia, se non implementato correttamente, https non è infallibile, quindi è estremamente importante che gli utenti finali diffidano dell’accettazione di certificati discutibili e siano prudenti con le loro informazioni personali durante l’utilizzo di Internet.