9.1 http
Conosci già molto bene il protocollo http. Ma, molto probabilmente, non sai che esistono già tre versioni di tali protocolli. Come futuro programmatore Java, dovresti familiarizzare con questo caso almeno una volta.
Di seguito ti dirò quali tipi di protocolli sono e quali sono le loro caratteristiche. Nel frattempo, ecco una foto per te: studia.
9.2 https
Iniziamo con la prima modifica del protocollo http: il protocollo https . Questo è lo stesso http, ma ad esso è stata aggiunta la crittografia dei contenuti. Dopotutto, le richieste e le risposte Http sono normali file di testo. Probabilmente non vorrai che tutto ciò che il tuo browser invia e riceve vada su Internet in chiaro.
Per risolvere questo problema è stato inventato il protocollo https ( http+security ) . Quando provi a fare una richiesta utilizzando il protocollo https, il tuo browser stabilisce prima una connessione al server richiesto e gli chiede il suo certificato SSL.
Quindi viene verificata l'autenticità di questo certificato: contiene il nome del dominio e un elenco di chiavi pubbliche di coloro che hanno rilasciato questo certificato al server.
Se il certificato è autentico, il browser stabilisce una connessione crittografata a quel server. E già all'interno di questa connessione, i dati vengono trasmessi tramite il protocollo http.
E poiché le informazioni sulla risorsa richiesta vengono trasmesse nel protocollo stesso, quando si utilizza il protocollo https, nessuno può intercettare informazioni su quali risorse del server ha avuto accesso il browser.
Oggi questo protocollo è diventato lo standard de facto e ha quasi soppiantato il buon vecchio http.
Se qualcuno tenta di sostituire il server a cui invii una richiesta https, non sarà in grado di sostituire il certificato di dominio. Il browser lo capirà e vedrai una pagina come questa:
9.3 http/2
Ma non c'è niente in questo mondo che non possa essere migliorato. Dopo che Google ha vinto la guerra dei browser , ha deciso di impossessarsi dell'intera Internet. E, naturalmente, per una nobile causa. Hanno deciso di migliorare il protocollo http.
Detto fatto. Aggiunto al nuovo standard di trasferimento dati:
- Crittografia obbligatoria.
- Compressione dei dati nelle intestazioni HTTP.
- Il server può inviare i file anche prima che vengano richiesti (tecnologia push).
- Possono esserci più richieste http su una singola connessione TCP.
- Le richieste vengono elaborate come una pipeline (non è necessario attendere una risposta per inviare una nuova richiesta).
- Il protocollo è binario (non è necessario tradurre caratteri non stampabili in testo).
Gran parte di questo è nascosto al programmatore Java e mantenuto a livello di server Web e browser.
9.4 http/3
La terza versione del protocollo http è ancora in via di definizione e la sua più grande innovazione è il rifiuto del protocollo TCP. I dati passeranno immediatamente su UDP.
Come questo. Le persone hanno inventato il modello OSI, l'hanno inventato, ed eccoti qui. Cosa non fare per motivi di velocità. D'altra parte, potrebbe essere giusto. Oggi molti video in streaming vengono trasmessi su Internet e Dio stesso ha ordinato di utilizzare UDP lì.
Oh, con il fascino di questo protocollo, starai già giocando. Ho già finito il mio :)
Puoi leggere di più su http/3
GO TO FULL VERSION