亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個頁面同時發起兩個http請求相關問題

一個頁面同時發起兩個http請求相關問題

滄海一幻覺 2019-03-06 15:15:22
問題描述:假如我點開一個index.html,該頁面會同時發起兩個異步請求,偽代碼如下:window.onload = function() {  ajax1(); //第一次異步請求  ajax2(); //第二次異步請求}現在假如ajax1()這個請求是在服務器端的處理是十分耗時的,而ajax2()則僅僅是一個簡單查詢,處理很快。那么現在問題是:1、ajax2()這個請求的響應結果會不會先于ajax1()這個請求先返回到瀏覽器端?還是這個會跟服務端語言的機制有關?比如java或者nodejs這類。2、一個網絡相關的問題:這兩個請求會復用一個TCP連接嗎。還是分別對服務器建立兩個不同的TCP連接。(在HTTP1.1中,可以設置connection: keep-alive)萬分感謝解疑~
查看完整描述

6 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

  1. 哪個先返回取決于服務器端哪個先處理完先返回

  2. 連接復用是指這個http請求完成后,TCP連接在一定時間內不關閉;新的請求可以復用這個沒有關閉的連接


查看完整回答
反對 回復 2019-03-14
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

  1. 市面上出現的WEB服務器中,2比1先返回

  2. 先來看看HTTP請求復用

定義

Http/1.0每次請求都需要建立新的TCP連接,連接不能復用。Http/1.1新的請求可以在上次建立的tcp連接之上發送,連接可以復用。

優點

減少重復進行tcp三次握手的開銷,提高效率。注意:在同一個tcp連接中,新的請求需要等上次請求收到響應后,才能發送。

csdn博客

而1是沒收到響應的,所以本例中2不會復用1的TCP連接。


查看完整回答
反對 回復 2019-03-14
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

HTTP1.1可以TCP復用,第一個請求響應完成后再發送第二個請求就是1個TCP連接,如果是兩個請求同時開始,或者第一個請求還未結束就開始第二個請求,就是2個tcp連接.
HTTP/2,客戶端向某個域名的服務器請求頁面的過程中,只會創建一條TCP連接,即使這頁面可能包含上多個資源。即同時請求會使用一個TCP連接。

查看完整回答
反對 回復 2019-03-14
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

1、ajax2()這個請求的響應結果會不會先于ajax1()這個請求先返回到瀏覽器端?還是這個會跟服務端語言的機制有關?比如java或者nodejs這類。

會。跟語言無關。

2、一個網絡相關的問題:這兩個請求會復用一個TCP連接嗎。還是分別對服務器建立兩個不同的TCP連接。(在HTTP1.1中,可以設置connection: keep-alive)

不會。是兩個連接。


查看完整回答
反對 回復 2019-03-14
  • 6 回答
  • 0 關注
  • 1974 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號