HTTP/2: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m +cat
Phai (discussione | contributi)
Riga 22:
HTTP/2 mantiene ad alto livello la maggior parte della sintassi di HTTP 1.1 come metodi, codici di stato, campi degli header, URI. La differenza sta nel come il flusso dei dati tra il client e il server è strutturato e trasportato.<ref name=":0" /> I siti Web efficienti minimizzano il numero di richieste necessarie per restituire una pagina con la tecnica del "minifying" o minimizzazione (riducendo le dimensioni del codice e impacchettando piccoli pezzi di codice in unità più grandi, senza intaccarne la funzionalità) applicata su risorse come immagini e script. Ad ogni modo la minimizzazione non è necessariamente conveniente né efficiente e può ancora richiedere distinte connessioni HTTP per ottenere la pagina e le risorse minimizzate.
 
HTTP/2 permette al server di inviare ("push") più dati di quelli richiesti dal client. Questo consente al server di fornire dati che sa essere necessari ad un web browser per completare la pagina, senza attendere che il browser esamini la prima risposta e senza l'overhead di un ciclo di richiesta addizionale.<ref>{{Cita pubblicazione|autore = Pratt, Michael|titolo = "Apiux"|rivista = apiux.com|volume = |numero = }}</ref>
 
Altri miglioramenti prestazionali nella prima stesura di HTTP/2 (che era una copia di SPDY) vengono dal multiplexing di richieste e risposte, allo scopo di evitare le problematiche di tipo HOLB (head-of-line blocking) note in HTTP/1.1 (anche quando utilizzata la tecnica dell'HTTP pipelining), compressione degli header, gestione delle richieste in base alla priorità delle stesse (prioritization).<ref>{{Cita libro|autore = Dio Synodinos|titolo = "HTTP 2.0 First Draft Published"|anno = November 2012|editore = InfoQ.com (C4Media Inc.)|città = |p = |pp = |ISBN = }}</ref>