搜尋

首頁  >  問答  >  主體

Java中Http和Socket是什么关系?

Java中Http和Socket是什么关系?

黄舟黄舟2887 天前380

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:28:59

    1. 首先,socket是長連接這個說法有問題,socket是應用層與TCP/IP協定族通訊的中間軟體抽象層。它既可使用下層的 TCP,也可以使用UDP。 Http是基於TCP的,HTTP協定的長連接和短連接,實質上是TCP協定的長連接和短連接。

    2. 長連接和短連接都是相對的。
      長連線:建立一個連線後保持一段時間,這段時間多個請求和回應使用這個連線。
      短連接:每次要求建立一個連接,等伺服器回應返回就關閉連接。

    3. HTTP/1.0是短連接,HTTP/1.1支援長連接,HTTP/2又有改進。這些改進背後的需求是什麼? HTTP的歷史推薦看下

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:28:59

    準確來說HTTP是基於TCP/IP。

    TCP/IP可長可短,而HTTP主要把它用成短的。

    HTTP也可以是長的,只有伺服器和瀏覽器一直不關連結就可以了,曾經就流行過這樣的方法實現伺服器即時通知(搜尋http comet就知道了)。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:28:59

    HTTP只是"不要求"長連接, 你可以keepalive也可以傳完立刻關掉socket, 都沒有問題.

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-18 10:28:59

    問【為什麼】之前,請先研究清楚【是不是】!

    回覆
    0
  • 取消回覆