Selamat datang untuk melanggan surat berita JavaScript terkini kami dan klik di sini untuk melanggan
Sekarang hampir semua aplikasi JavaScript menggunakan proses membina. Walaupun anda tidak diterjemahkan dari ES2015 atau TypeScript, ia telah menjadi amalan standard untuk melakukan beberapa bentuk sambungan dan pemampatan ke kod anda. Alasannya ialah terdapat overhead yang besar dalam membuat permintaan HTTP. Kurang servis, fail yang lebih besar lebih cekap daripada banyak fail yang lebih kecil yang disajikan. Dengan penggunaan versi HTTP/2 seterusnya, protokol asas untuk rangkaian, mungkin masa untuk memikirkan semula amalan terbaik.
Bagaimana http/2 berbeza daripada pendahulunya? Satu perbezaan utama ialah http/2 adalah protokol , bukan protokol berasaskan teks. Ini menjadikannya lebih padat, lebih tegas dan kurang rawan ralat. Kelebihan utama protokol ini adalah bahawa ia adalah multiplexed, yang bermaksud bahawa pelbagai fail boleh dipindahkan pada satu sambungan. Satu lagi ciri yang dipublikasikan secara meluas ialah Push Server, yang membolehkan pelayan memindahkan sumber kepada klien sebelum permintaan klien, pra-mengisi cache.
Sokongan untuk protokol baru sangat baik, termasuk semua pelayar arus perdana. Di sisi pelayan, ia disokong oleh APACHE2, NGINX, dan Microsoft IIS, dan ia juga disokong oleh Node.js 5.0 dan ke atas. Kebanyakan vendor penyemak imbas mengatakan mereka hanya akan menyokong HTTP/2 pada sambungan TLS, tetapi dengan kedatangan sijil SSL percuma Let's Encrypt, ia adalah keperluan yang mudah. Menurut data yang dikumpulkan oleh W3Techs pada bulan Jun tahun ini, kira -kira 8.4% daripada 10 juta laman web teratas kini menyokong perjanjian baru. Jika anda adalah pengguna Chrome, anda boleh menggunakan sambungan penunjuk HTTP/2 dan SPDY untuk mendapatkan pandangan yang jelas tentang laman web yang anda lawati berkhidmat melalui HTTP/2. Apakah penggunaan HTTP/2 untuk pemaju JavaScript? Amalan semasa kami menyambungkan pelbagai fail ke dalam bundle menjadikannya sukar bagi pelayar untuk cache kod kami dengan cekap: Menukar garis kod dalam modul memerlukan muat turun semula keseluruhan fail bundle. Oleh kerana HTTP/2 multiplexing membuat permintaan agak murah, kami mempunyai pilihan untuk memecah kod ke dalam berkas yang lebih kecil dan menggunakan lebih baik cache untuk memastikan aplikasi kami dengan berkesan menggunakan jalur lebar pengguna. Tetapi jika permintaan itu murah, adakah kita berputus asa pada bundle sama sekali? Pada pandangan pertama ini seolah -olah masuk akal, tetapi kos permintaan HTTP bukanlah satu -satunya faktor yang perlu dipertimbangkan. Pelayan web juga mengehadkan bagaimana mereka dapat menyajikan sejumlah besar fail. Dengan lonjakan komuniti JavaScript yang bergerak ke modul yang lebih kecil, lebih berpusat, menyediakan fail -fail ini kepada pelanggan tanpa beberapa jenis bundling tidak akan ideal. Paling penting, menggabungkan fail bersama -sama dapat mencapai mampatan yang lebih baik, dengan itu menjimatkan jalur lebar. Jadi, bilakah anda harus mempertimbangkan untuk beralih ke http/2? Jawapannya, ia bergantung kepada keadaan. Walaupun sokongan penyemak imbas sangat baik, jika penonton sasaran anda masih terjebak pada versi lama IE, anda beruntung, jadi periksa statistik pelawat anda untuk melihat apakah ini mungkin memberi manfaat kepada kebanyakan pengguna. Apa yang saya dapat dari semua ini adalah bahawa sokongan dan penggunaan protokol baru ini mengejutkan dengan baik, dan sebagai pemaju, ia adalah trend yang tidak dapat kita abaikan. jenis strategi penggabungan yang anda gunakan? Adakah anda mempertimbangkan untuk beralih ke http/2, atau mungkin anda sudah bertukar? Tolong beritahu saya dalam komen! http/2 mempunyai beberapa kelebihan berbanding http/1. Salah satu kelebihan yang paling penting ialah keupayaannya untuk pelbagai permintaan pelbagai melalui satu sambungan TCP. Ciri ini mengurangkan latensi yang boleh berlaku apabila membuat pelbagai permintaan, dengan itu meningkatkan prestasi keseluruhan aplikasi web anda. HTTP/2 juga menyokong pemampatan header, yang mengurangkan overhead dan menyokong push pelayan, yang membolehkan pelayan menghantar sumber kepada klien sebelum permintaan klien. Dalam http/2, bundling fail tidak lagi perlu seperti dalam http/1. Ini kerana HTTP/2 boleh mengendalikan pelbagai permintaan pada satu sambungan sekaligus, menghapuskan keperluan untuk membungkus fail bersama -sama untuk mengurangkan bilangan permintaan. Sebaliknya, fail boleh dimuat secara berasingan, yang boleh meningkatkan penggunaan cache dan memudahkan pengurusan fail dan kemas kini. Multiplexing adalah ciri utama HTTP/2, yang membolehkan pelbagai permintaan dan respons dihantar serentak melalui satu sambungan TCP tunggal. Ini adalah peningkatan utama kepada HTTP/1, yang hanya boleh mengendalikan satu permintaan setiap sambungan. Multiplexing mengurangkan latensi yang berkaitan dengan pelbagai permintaan, dengan itu meningkatkan prestasi aplikasi web. Push Server adalah ciri dalam HTTP/2 yang membolehkan pelayan menghantar sumber kepada klien sebelum permintaan klien. Ini dapat meningkatkan prestasi aplikasi web dengan mengurangkan masa yang diperlukan untuk pelanggan menerima dan memberikan sumber. Pelayan boleh menolak sumber yang diharapkan pelanggan perlu berdasarkan permintaan awal. Dalam http/2, bundling fail dianggap amalan buruk kerana ia menghapuskan beberapa kelebihan utama protokol. HTTP/2 direka untuk mengendalikan pelbagai permintaan pada satu sambungan pada masa yang sama, jadi fail bundling bersama -sama mungkin merendahkan prestasi kerana ia menghasilkan fail yang lebih besar dan lebih kompleks yang mengambil masa lebih lama untuk memproses dan memperbaharui. http/2 mungkin mempunyai kesan positif terhadap SEO kerana ia dapat meningkatkan kelajuan dan prestasi laman web. Laman yang lebih cepat cenderung untuk berpangkat lebih tinggi dalam hasil enjin carian kerana kelajuan pemuatan halaman adalah faktor ranking. Di samping itu, fungsi Multiplexing dan Pelayan HTTP/2 dapat meningkatkan pengalaman pengguna, yang juga membantu meningkatkan SEO. Soalan Lazim (Soalan Lazim) Mengenai Bundling Fail dan Http/2
Apakah kelebihan utama http/2 atas http/1?
Bagaimana bundle fail berfungsi dalam http/2?
Apakah multiplexing dalam http/2?
Bagaimanakah pelayan menolak dalam kerja http/2?
Kenapa bundling fail dianggap amalan buruk dalam http/2?
Apakah kesan yang ada pada http/2 pada SEO?
bagaimana meningkatkan keselamatan di http/2?
Bolehkah saya menggunakan http/2 dalam pelayar yang lebih tua?
bagaimana untuk memeriksa sama ada laman web saya menggunakan http/2?
Atas ialah kandungan terperinci Bundling fail dan http/2: Memikirkan semula amalan terbaik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!