Rumah > hujung hadapan web > tutorial js > HTTP/s HTTP/s HTTP3

HTTP/s HTTP/s HTTP3

王林
Lepaskan: 2024-09-06 16:31:05
asal
953 orang telah melayarinya

pengenalan

Ini adalah salah satu topik kegemaran saya, dan ini akan menjadi artikel yang berpengetahuan. Jadi baca dengan teliti.

Perkongsian Domain

  • Perkongsian domain ialah teknik yang digunakan untuk meningkatkan kelajuan dan prestasi tapak web.
  • Ia melibatkan pembahagian atau "sharding" sumber merentas berbilang domain.
  • Apabila penyemak imbas memuatkan tapak web, ia membuat permintaan kepada pelayan tapak web untuk memuat turun pelbagai jenis sumber seperti HTML, CSS, JavaScript, imej, dll.
  • Walau bagaimanapun, penyemak imbas mengehadkan bilangan sambungan serentak (muat turun) yang akan mereka buat kepada satu domain. (6, bergantung pada Penyemak Imbas)
  • Dengan memecah sumber merentas berbilang domain (contohnya, menyajikan imej daripada domain yang berbeza daripada skrip), anda boleh memintas had ini dan memuat turun lebih banyak sumber pada masa yang sama, yang boleh membawa kepada masa pemuatan halaman yang lebih cepat.

Multiplexing

  • yang membenarkan berbilang permintaan dan respons dihantar pada masa yang sama melalui satu sambungan (Lalai sekitar 100)

NOTA:-

  • Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa HTTP/2, versi terkini protokol HTTP, menyokong multiplexing,

Cara menerima pakai/menukar protokol semasa

  • Untuk bertukar daripada HTTP/1 kepada HTTP/2, anda perlu mengkonfigurasi pelayan anda untuk menyokong HTTP/2.

  • Langkah yang tepat bergantung pada perisian pelayan yang anda gunakan. Berikut ialah langkah umum untuk beberapa pelayan biasa:

Apache:

  • Apache menyokong HTTP/2 dari versi 2.4.17 dan seterusnya. Untuk mendayakannya, anda perlu memasukkan modul mod_http2 dalam konfigurasi Apache anda dan kemudian menambah Protokol h2 http/1.1 pada konfigurasi anda.

Nginx:

  • Nginx menyokong HTTP/2 dari versi 1.9.5 dan seterusnya. Untuk mendayakannya, masukkan http2 dalam arahan dengar anda dalam konfigurasi Nginx anda, seperti: dengar 443 ssl http2.

Node.js:

-Jika anda menggunakan Node.js, anda boleh menggunakan modul http2 terbina dalam untuk mencipta pelayan HTTP/2.

NOTA:-

Ingat, HTTP/2 memerlukan HTTPS dalam kebanyakan penyemak imbas, jadi anda juga perlu menyediakan sijil SSL untuk pelayan anda.

Dari perspektif Front-End apa sahaja yang kami lakukan ?

  • Tidak, suis daripada HTTP/1 kepada HTTP/2 dikendalikan di peringkat pelayan, bukan di peringkat pelanggan atau bahagian hadapan.
  • Walau bagaimanapun, sebaik sahaja pelayan anda menyokong HTTP/2, anda mungkin ingin mempertimbangkan semula teknik pengoptimuman prestasi tertentu yang biasa dengan HTTP/1, seperti pemecahan domain atau penyatuan aset, kerana ia boleh menjadi tidak perlu atau malah memudaratkan HTTP/2 .

Bagaimana sambungan Berlaku dalam Pelanggan dan Pelayan

HTTP/1

  • HTTP/1 beroperasi pada satu sambungan bagi setiap model permintaan/tindak balas. Ini bermakna untuk setiap permintaan daripada klien ke pelayan, sambungan TCP yang berasingan diwujudkan.

  • Jika halaman web memerlukan berbilang sumber (seperti imej, CSS, fail JavaScript), berbilang sambungan TCP perlu diwujudkan.

  • Ini boleh membawa kepada masalah yang dikenali sebagai "sekatan ketua baris", di mana pemuatan sumber boleh disekat dengan pemuatan sumber sebelumnya.

  • HTTP/1 tidak menyokong tolak pelayan, bermakna pelayan hanya boleh menghantar sumber yang diminta oleh pelanggan.

HTTP/2

  • HTTP/2 memperkenalkan pemultipleksan, yang membolehkan berbilang permintaan dan respons dihantar pada masa yang sama melalui satu sambungan TCP. Ini secara berkesan menghapuskan masalah penyekatan kepala baris.

  • HTTP/2 juga memperkenalkan tolak pelayan, di mana pelayan boleh menghantar sumber kepada klien secara proaktif sebelum pelanggan memintanya. Ini boleh meningkatkan prestasi dengan mengurangkan keperluan untuk permintaan pergi balik antara pelanggan dan pelayan.

  • HTTP/2 juga menyokong pemampatan pengepala, yang boleh mengurangkan overhed dan meningkatkan prestasi, terutamanya untuk pengguna mudah alih.

HTTP/2 turut menyokong pemampatan pengepala

  • HTTP/2 memperkenalkan ciri baharu yang dipanggil Mampatan Pengepala, yang mengurangkan overhed pengepala HTTP.

  • Dalam HTTP/1, pengepala dihantar sebagai teks biasa, yang boleh menjadi agak besar dan menambah overhed yang ketara pada setiap permintaan dan respons.

  • Ini terutama berlaku untuk permintaan yang menyertakan kuki atau token dalam pengepala.

  • HTTP/2 menggunakan mekanisme yang dipanggil Mampatan HPACK untuk memampatkan pengepala.

  • HPACK ialah skim mampatan rentetan yang mudah dan selamat yang mengurangkan saiz pengepala, menjadikan permintaan dan respons HTTP/2 lebih pantas dan cekap.

Mampatan HPACK berfungsi Secara Dalaman

  • Ia dengan mengekalkan senarai medan pengepala yang dihantar sebelum ini pada kedua-dua bahagian klien dan pelayan, yang dikenali sebagai jadual dinamik.

  • Apabila medan pengepala diulang dalam permintaan atau respons berikutnya, bukannya menghantar keseluruhan medan pengepala, indeks yang merujuk masukan dalam jadual dinamik dihantar.

  • Ini mengurangkan dengan ketara saiz pengepala untuk permintaan dan respons, terutamanya apabila banyak pengepala diulang merentas permintaan.

HTTP/3

  • HTTP/3 ialah versi utama protokol HTTP yang seterusnya. Ia dibina di atas QUIC, protokol lapisan pengangkutan dibangunkan oleh Google.

Berikut ialah beberapa kelebihan HTTP/3 berbanding HTTP/2:

Kelajuan yang Dipertingkatkan:

  • HTTP/3 menggunakan QUIC, yang direka bentuk untuk menjadi lebih pantas dan lebih dipercayai daripada TCP, protokol pengangkutan yang digunakan oleh HTTP/1 dan HTTP/2.
  • QUIC mengurangkan masa penubuhan sambungan, menjadikan sambungan awal ke pelayan lebih cepat.

Pengendalian Kehilangan Paket yang Lebih Baik:

  • Dalam HTTP/2, paket yang hilang memperlahankan semua strim (permintaan/tindak balas). QUIC menyelesaikan masalah ini dengan mengendalikan aliran secara bebas, jadi paket yang hilang hanya menjejaskan satu aliran.

Migrasi Sambungan:

  • QUIC menyokong pemindahan sambungan, yang bermaksud jika pengguna menukar rangkaian mereka (seperti menukar daripada Wi-Fi kepada 4G), sambungan sedia ada boleh dikekalkan dan dipindahkan ke rangkaian baharu.

  • Ini tidak boleh dilakukan dengan TCP, yang terikat pada alamat IP asal.

Penyulitan secara Lalai:

  • QUIC termasuk penyulitan TLS 1.3 secara lalai. Ini menjadikan protokol lebih selamat dan mengurangkan bilangan perjalanan pergi dan balik yang diperlukan untuk menyediakan sambungan.

Tekan Pelayan:

  • Seperti HTTP/2, HTTP/3 juga menyokong tolak pelayan, di mana pelayan boleh menghantar sumber kepada klien secara proaktif, sebelum pelanggan memintanya.

NOTA:-

Adalah penting untuk ambil perhatian bahawa walaupun HTTP/3 mempunyai beberapa kelebihan, ia masih tidak disokong atau digunakan secara meluas setakat ini.

HTTP/s HTTP/s HTTP3

HTTP/s HTTP/s HTTP3

Rujukan:-

  1. https://frontendmasters.com/courses/realtime/
  2. https://developer.mozilla.org/en-US/docs/Web/HTTP
  3. https://developer.mozilla.org/en-US/docs/Glossary/HTTP_2
  4. https://developer.mozilla.org/en-US/docs/Glossary/HTTP_3

Atas ialah kandungan terperinci HTTP/s HTTP/s HTTP3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan