


Penemuduga bertanya: Berapa banyak permintaan HTTP yang boleh dihantar oleh sambungan TCP?
Pernah ada soalan temu duga klasik: Apakah yang berlaku dalam proses daripada URL yang dimasukkan dalam penyemak imbas ke halaman yang dipaparkan?
Saya percaya bahawa kebanyakan pelajar yang telah menyediakan boleh menjawabnya, tetapi jika anda terus bertanya: Jika HTML yang diterima mengandungi berpuluh-puluh tag imej, dalam cara bagaimana, dalam susunan bagaimana, imej ini dicipta ? Berapa banyak sambungan telah dimuat turun dan apakah protokol yang digunakan?
Untuk memahami masalah ini, kita perlu menyelesaikan lima masalah berikut terlebih dahulu:
1 Selepas pelayar moden mewujudkan sambungan TCP dengan pelayan Will ia memutuskan sambungan selepas permintaan HTTP selesai? Dalam keadaan apa ia akan diputuskan?
2. Berapa banyak permintaan HTTP yang boleh sepadan dengan satu sambungan TCP?
3. Bolehkah permintaan HTTP dihantar bersama dalam sambungan TCP (contohnya, tiga permintaan dihantar bersama dan tiga respons diterima bersama)?
4. Mengapakah kadangkala memuat semula halaman tidak memerlukan sambungan SSL diwujudkan semula?
5. Adakah penyemak imbas mempunyai sebarang had pada bilangan sambungan TCP yang diwujudkan oleh Hos yang sama?
Soalan pertama
Adakah penyemak imbas moden akan memutuskan sambungan selepas permintaan HTTP selesai selepas mewujudkan sambungan TCP dengan pelayan ? Dalam keadaan apa ia akan diputuskan?
Dalam HTTP/1.0, pelayan akan memutuskan sambungan TCP selepas menghantar respons HTTP. Walau bagaimanapun, setiap permintaan akan mewujudkan semula dan memutuskan sambungan TCP, yang terlalu mahal. Jadi, walaupun ia tidak ditetapkan dalam piawaian, sesetengah pelayan menyokong sambungan: pengepala kekal hidup. Ini bermakna selepas melengkapkan permintaan HTTP ini, jangan putuskan sambungan TCP yang digunakan oleh permintaan HTTP. Kelebihan ini ialah sambungan boleh digunakan semula, dan tidak perlu mewujudkan semula sambungan TCP apabila menghantar permintaan HTTP nanti. Jika sambungan dikekalkan, overhed SSL juga boleh dielakkan dua lawatan saya ke www.github dalam tempoh yang singkat Statistik masa .com:
Lawatan pertama, terdapat sambungan permulaan dan overhed SSL
<.>Soalan kedua
Berapa banyak permintaan HTTP yang boleh sepadan dengan sambungan TCP? Selepas memahami soalan pertama, soalan ini sebenarnya sudah mempunyai jawapan Jika sambungan dikekalkan, sambungan TCP boleh menghantar berbilang permintaan HTTP.Soalan ketiga
Bolehkah permintaan HTTP dihantar bersama dalam sambungan TCP (contohnya, tiga permintaan dihantar bersama dan tiga respons diterima bersama)? Terdapat masalah dengan HTTP/1.1 Satu sambungan TCP hanya boleh mengendalikan satu permintaan pada masa yang sama, yang bermaksud: kitaran hayat dua permintaan tidak boleh bertindih mana-mana dua permintaan HTTP adalah Tidak boleh bertindih dalam sambungan TCP yang sama. Walaupun spesifikasi HTTP/1.1 menentukan Pipelining untuk cuba menyelesaikan masalah ini, ciri ini dimatikan secara lalai dalam penyemak imbas. Mari kita lihat dahulu apa itu Pipelining yang ditetapkan oleh RFC 2616:A client that supports persistent connections MAY "pipeline" its requests (i.e., send multiple requests without waiting for each response). A server MUST send its responses to those requests in the same order that the requests were received. 一个支持持久连接的客户端可以在一个连接中发送多个请求(不需要等待任意请求的响应)。收到请求的服务器必须按照请求收到的顺序发送响应。
- Sesetengah pelayan proksi tidak dapat mengendalikan Paip HTTP dengan betul.
- Pelaksanaan saluran paip yang betul adalah rumit.
- Sekatan Ketua Talian: Selepas mewujudkan sambungan TCP, anggap bahawa klien menghantar beberapa permintaan kepada pelayan secara berterusan semasa sambungan ini. Mengikut piawaian, pelayan harus mengembalikan hasil dalam urutan permintaan diterima Dengan mengandaikan bahawa pelayan menghabiskan banyak masa memproses permintaan pertama, maka semua permintaan berikutnya perlu menunggu permintaan pertama selesai sebelum menjawab. .
Walau bagaimanapun, HTTP2 menyediakan ciri Multiplexing, yang boleh melengkapkan berbilang permintaan HTTP secara serentak dalam sambungan TCP. Bagaimana tepatnya pemultipleksan dilaksanakan adalah soalan lain. Kita boleh melihat kesan penggunaan HTTP2.
Hijau ialah masa menunggu dari memulakan permintaan hingga mengembalikan permintaan, dan biru ialah masa muat turun respons Anda dapat melihat bahawa semuanya telah selesai selari dalam Sambungan yang sama
Jadi soalan ini juga mempunyai jawapan: dalam HTTP/1.1, terdapat teknologi Pipelining yang boleh melengkapkan penghantaran berbilang permintaan pada masa yang sama, tetapi memandangkan penyemak imbas ditutup secara lalai, ia boleh dianggap tidak boleh dilaksanakan. Disebabkan oleh ciri Multiplexing dalam HTTP2, berbilang permintaan HTTP boleh diproses secara selari pada sambungan TCP yang sama.
Jadi dalam era HTTP/1.1, bagaimanakah penyemak imbas meningkatkan kecekapan pemuatan halaman? Terdapat dua perkara utama:
Kekalkan sambungan TCP yang telah diwujudkan dengan pelayan dan proses berbilang permintaan secara berurutan pada sambungan yang sama.
Mewujudkan berbilang sambungan TCP dengan pelayan.
Soalan keempat
Mengapa kadangkala memuat semula halaman tidak memerlukan sambungan SSL diwujudkan semula?
Jawapan sudah tersedia dalam perbincangan soalan pertama sambungan TCP kadangkala diselenggara oleh penyemak imbas dan pelayan untuk satu tempoh masa. TCP tidak perlu diwujudkan semula, dan SSL secara semula jadi akan menggunakan yang sebelumnya.
Soalan kelima
Adakah terdapat sebarang had pada bilangan sambungan TCP yang penyemak imbas boleh wujudkan kepada Hos yang sama?
Andaikan kita masih dalam era HTTP/1.1, dan tiada pemultipleksan pada masa itu Apakah yang perlu dilakukan oleh penyemak imbas apabila ia mendapat halaman web dengan berpuluh-puluh imej? Sudah pasti tidak mungkin untuk hanya membuka sambungan TCP untuk muat turun berurutan, jika tidak, pengguna pasti perlu menunggu Walau bagaimanapun, jika sambungan TCP dibuka untuk setiap gambar untuk menghantar permintaan HTTP, komputer atau pelayan mungkin tidak dapat menanggungnya Jika terdapat 1,000 gambar, ia tidak boleh dibuka 1000 sambungan TCP, walaupun komputer anda bersetuju dengan NAT, ia mungkin tidak bersetuju.
Jadi jawapannya: ya. Chrome membenarkan sehingga enam sambungan TCP ke Hos yang sama. Terdapat beberapa perbezaan antara pelayar yang berbeza.
developers.google.com/web/tools/ch...
Jadi kembali kepada soalan asal, jika HTML yang diterima mengandungi berpuluh-puluh imej Tag, dalam cara bagaimana, dalam susunan apa, berapa banyak sambungan telah diwujudkan, dan apakah protokol yang digunakan untuk memuat turun gambar-gambar ini?
Jika imej adalah semua sambungan HTTPS dan di bawah nama domain yang sama, penyemak imbas akan berbincang dengan pelayan selepas jabat tangan SSL sama ada HTTP2 boleh digunakan, fungsi Multiplexing akan digunakan untuk menjalankan pemultipleksan sambungan ini. Walau bagaimanapun, tidak semestinya semua sumber yang disenaraikan pada nama domain ini akan diperoleh menggunakan sambungan TCP, tetapi pastinya pemultipleksan mungkin akan digunakan.
Bagaimana jika anda mendapati anda tidak boleh menggunakan HTTP2? Atau HTTPS tidak boleh digunakan (sebenarnya, HTTP2 dilaksanakan pada HTTPS, jadi hanya HTTP/1.1 boleh digunakan). Penyemak imbas akan mewujudkan berbilang sambungan TCP pada HOST Had maksimum pada bilangan sambungan bergantung pada tetapan penyemak imbas Sambungan ini akan digunakan oleh penyemak imbas untuk menghantar permintaan baharu jika semua sambungan menghantar permintaan Woolen cloth? Kemudian permintaan lain perlu menunggu.
Atas ialah kandungan terperinci Penemuduga bertanya: Berapa banyak permintaan HTTP yang boleh dihantar oleh sambungan TCP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kod status HTTP 520 bermakna pelayan mengalami ralat yang tidak diketahui semasa memproses permintaan dan tidak dapat memberikan maklumat yang lebih khusus. Digunakan untuk menunjukkan bahawa ralat tidak diketahui berlaku semasa pelayan memproses permintaan, yang mungkin disebabkan oleh masalah konfigurasi pelayan, masalah rangkaian atau sebab lain yang tidak diketahui. Ini biasanya disebabkan oleh isu konfigurasi pelayan, isu rangkaian, kelebihan beban pelayan atau ralat pengekodan. Jika anda menghadapi ralat kod status 520, sebaiknya hubungi pentadbir tapak web atau pasukan sokongan teknikal untuk mendapatkan maklumat dan bantuan lanjut.

Bagaimana untuk menetapkan semula protokol tcp/ip dalam win10? Sebenarnya, kaedahnya sangat mudah Pengguna boleh terus memasukkan command prompt, dan kemudian tekan kombinasi kekunci ctrl+shift+enter untuk melaksanakan operasi, atau terus laksanakan arahan set semula untuk menyediakan pengguna pengenalan terperinci tentang cara menetapkan semula susunan protokol TCP/IP dalam Windows 10. Kaedah 1 untuk menetapkan semula timbunan protokol tcp/ip dalam windows 10. Kebenaran pentadbir 1. Kami menggunakan kekunci pintasan win+R untuk terus membuka tetingkap jalankan, kemudian masukkan cmd dan tahan ctrl+shift+enter kombinasi kekunci. 2. Atau kita boleh terus mencari command prompt dalam menu mula dan klik kanan

Kod status HTTP 403 bermakna pelayan menolak permintaan pelanggan. Penyelesaian kepada kod status http 403 ialah: 1. Semak kelayakan pengesahan Jika pelayan memerlukan pengesahan, pastikan kelayakan yang betul disediakan 2. Semak sekatan alamat IP, pastikan bahawa alamat IP klien adalah disenarai putih atau tidak disenaraihitamkan 3. Semak tetapan kebenaran fail Jika kod status 403 berkaitan dengan tetapan kebenaran fail atau direktori, pastikan klien mempunyai kebenaran yang mencukupi untuk mengakses fail atau direktori ini. dll.

Kuasai maksud kod status HTTP 301: Senario aplikasi biasa pengalihan halaman web Dengan perkembangan pesat Internet, keperluan orang ramai untuk interaksi halaman web menjadi lebih tinggi dan lebih tinggi. Dalam bidang reka bentuk web, pengalihan halaman web adalah teknologi biasa dan penting, dilaksanakan melalui kod status HTTP 301. Artikel ini akan meneroka maksud kod status HTTP 301 dan senario aplikasi biasa dalam pengalihan halaman web. Kod status HTTP301 merujuk kepada ubah hala kekal (PermanentRedirect). Apabila pelayan menerima pelanggan

Cara menggunakan NginxProxyManager untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Dengan perkembangan Internet, semakin banyak laman web mula menggunakan protokol HTTPS untuk menyulitkan penghantaran data untuk meningkatkan keselamatan data dan perlindungan privasi pengguna. Memandangkan protokol HTTPS memerlukan sokongan sijil SSL, sokongan teknikal tertentu diperlukan semasa menggunakan protokol HTTPS. Nginx ialah pelayan HTTP yang berkuasa dan biasa digunakan dan pelayan proksi terbalik, dan NginxProxy

Gunakan fungsi http.PostForm untuk menghantar permintaan POST dengan data borang Dalam pakej http bahasa Go, anda boleh menggunakan fungsi http.PostForm untuk menghantar permintaan POST dengan data borang. Prototaip fungsi http.PostForm adalah seperti berikut: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)di mana, u

Aplikasi Pantas: Analisis Kes Pembangunan Praktikal PHP Asynchronous HTTP Muat Turun Berbilang Fail Dengan pembangunan Internet, fungsi muat turun fail telah menjadi salah satu keperluan asas bagi banyak laman web dan aplikasi. Untuk senario di mana berbilang fail perlu dimuat turun pada masa yang sama, kaedah muat turun segerak tradisional selalunya tidak cekap dan memakan masa. Atas sebab ini, menggunakan PHP untuk memuat turun berbilang fail secara tidak segerak melalui HTTP telah menjadi penyelesaian yang semakin biasa. Artikel ini akan menganalisis secara terperinci cara menggunakan HTTP tak segerak PHP melalui kes pembangunan sebenar.

Kod Status HTTP 200: Terokai Maksud dan Tujuan Respons yang Berjaya Kod status HTTP ialah kod angka yang digunakan untuk menunjukkan status respons pelayan. Antaranya, kod status 200 menunjukkan bahawa permintaan telah berjaya diproses oleh pelayan. Artikel ini akan meneroka maksud khusus dan penggunaan kod status HTTP 200. Mula-mula, mari kita fahami klasifikasi kod status HTTP. Kod status terbahagi kepada lima kategori iaitu 1xx, 2xx, 3xx, 4xx dan 5xx. Antaranya, 2xx menunjukkan tindak balas yang berjaya. Dan 200 ialah kod status yang paling biasa dalam 2xx
