Di bawah HTTP2, seberapa sering koneksi TCP baru dimulai?

15

Saya mengerti bahwa HTTP2 bertujuan untuk menjaga semuanya di bawah satu koneksi TCP, dan saya bertanya-tanya seberapa sering koneksi TCP akan dirobohkan.

Misalnya, jika saya mengunjungi YouTube, melakukan penelusuran, meninggalkan situs, dan kembali, apakah saya akan menggunakan kembali koneksi HTTPS yang sama (dalam hal TCP 4-tuple, NOT sesi), atau yang lain?

Banyak dari ini mungkin khusus untuk aplikasi, dan hingga bagaimana browser mengimplementasikannya, tetapi apakah itu ditentukan di mana saja dalam standar?

fruglemonkey
sumber

Jawaban:

18

Hanya ada beberapa pedoman dalam bagian 9 yang relevan dari spesifikasi :

  • Seharusnya tidak ada banyak koneksi dari browser ke server yang sama
  • Koneksi tidak boleh ditutup "sampai ditentukan bahwa tidak ada komunikasi lebih lanjut dengan server diperlukan", yaitu ketika tab ditutup dan tidak ada tab lain yang memiliki komunikasi ke server
  • Server dapat menutup koneksi siaga kapan saja, tetapi server dianjurkan untuk menjaga koneksi tetap terbuka selama mungkin.

Misalnya, jika saya mengunjungi YouTube, melakukan penelusuran, meninggalkan situs, dan kembali, apakah saya akan menggunakan kembali koneksi HTTPS yang sama (dalam hal tuple TCP 4, BUKAN sesi), atau yang lain?

Dalam hal ini kemungkinan besar bahwa koneksi baru akan digunakan, setidaknya kecuali tab lain memiliki beberapa video dari YouTube tertanam. Tetapi karena sumber daya di klien biasanya lebih murah daripada di server (kecuali mungkin untuk ponsel) mungkin server tersebut akan menjadi yang pertama untuk menutup koneksi idle untuk menghemat sumber daya.

Steffen Ullrich
sumber