搜索

首页  >  问答  >  正文

Java中Http和Socket是什么关系?

Java中Http和Socket是什么关系?

黄舟黄舟2887 天前365

全部回复(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
  • 取消回复