专业的JAVA编程教程与资源

网站首页 > java教程 正文

阿瑟Java (44):HTTP、TCP/IP、Socket 的关联

temp10 2025-02-15 17:28:16 java教程 11 ℃ 0 评论

PS:创作不易,感谢阅读,希望对读者有所帮助,喜欢的话可以点赞、收藏、关注,作者会持续更新 Java 生态圈常见知识。黑色加粗为重点关注内容!

长连接、短连接

  • 长连接
    • 指在一个 TCP 连接上可以连续发送多个数据包
    • 在 TCP 连接期间,如果没有数据交互,需要双方发送检测包,以维持连接
      • 一般需要自己做在线维持
  • 短连接
    • 指双方有数据交互时,就创建一个 TCP 连接,数据发送完成后,就关闭此连接
  • 短连接操作步骤是:连接 → 数据传输 → 关闭连接;
  • 长连接通常就是:连接 → 数据传输 → 保持连接(心跳) → 数据传输 → 保持连接(心跳) → ……→ 关闭连接;

Socket

  • 一个能够连接应用层和传输层之间的套件
  • 应用程序,比如浏览器、电子邮件、文件传输服务器等产生的数据,会通过传输层协议进行传输,而应用程序是不会和传输层直接建立联系的,通过 socket 进行传输的

HTTP 和 TCP/IP 的关系

  • TPC/IP 协议是传输层协议,主要解决数据如何在网络中传输,而 HTTP 是应用层协议,主要解决如何包装数据
  • 在传输数据时,可以只使用传输层的 TCP/IP 协议,但如果没有应用层,便无法识别数据内容
  • 若想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如 HTTP、FTP、TELNET 等
  • WEB 使用 HTTP 协议作应用层协议,来封装 HTTP 文本信息,然后使用 TCP/IP 作为传输层协议将它发到网络上

HTTP 和 TCP/IP 的关系

  • TPC/IP 协议是传输层协议,主要解决数据如何在网络中传输,而 HTTP 是应用层协议,主要解决如何包装数据
  • 在传输数据时,可以只使用传输层的 TCP/IP 协议,但如果没有应用层,便无法识别数据内容
  • 若想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如 HTTP、FTP、TELNET 等
  • WEB 使用 HTTP 协议作应用层协议,来封装 HTTP 文本信息,然后使用 TCP/IP 作为传输层协议将它发到网络上

Socket 和 HTTP 的关系

  • Http 和 Socket 完全是两个不同的概念
    • Http 是应用层协议
    • 而 Socket 本身并不是协议,它是对 TCP/IP 协议的封装,并提供调用的接口
  • Http 要基于 Socket 实现
    • 发起一个 HTTP 请求的过程就是创建一个 Socket 通信的过程
  • Httpclient 也是基于 socket 的
  • Socket 的出现是为了让程序员更方便地使用 TCP/IP 协议栈,是对 TCP/IP 协议的封装

阿瑟Java (44):HTTP、TCP/IP、Socket 的关联

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表