【问题标题】:what's the differenct amone a tcp connection, socket connection and a http connection?tcp 连接、socket 连接和 http 连接有什么区别?
【发布时间】:2014-07-06 08:42:38
【问题描述】:

似乎存在许多“连接”概念。比如socket连接、tcp连接和http连接。

那么,有什么区别呢?

【问题讨论】:

  • “连接”只是遵循某些协议的通信过程中的一个步骤。一对互联网协议“套接字”(一个客户端,一个侦听器)通常是通信的基础,您可以在其上分层其他协议(例如:TCP over IP、HTTP over TCP 等)。
  • 轮子、汽车、运输公司有什么区别?

标签: sockets http tcp udp


【解决方案1】:

它们的专业化程度不同:HTTP 连接是 TCP 连接的一种类型,是套接字连接的一种类型。

【讨论】:

  • 特别是,TCP 连接是一种套接字连接,双方都希望通过它接收所有数据(与 UDP 相比,预计会丢失一些数据)。 HTTP 是applications use 用于格式化它们通过 TCP 连接发送的数据的数千种协议之一。
【解决方案2】:

为了让两个实体进行通信,它们需要一个相互之间的钩子来传递消息——这些钩子是套接字。我们可以说它们是过程的身份。这些套接字的黑白通信将通过套接字连接进行。

现在,如何发送消息和接收消息?谁决定打开一个到套接字的连接请求,一个如何关闭。很多问题不是吗?你的 TCP 来了。通过遵循 TCP 提出的规则,应用程序通过套接字使用 TCP 协议进行消息交换。现在您可以将它们称为 TCP 连接。

现在,两个应用程序使用 TCP 协议和 b/w 两个套接字交换的数据字节流不必只是数据字节流。应用程序可以定义自己的协议 - 像 - I am looking for a content - do you have it? - Yes, here it is。一种这样的应用程序定义协议是 HTTP。您使用浏览器读取的 SO 网页是通过 HTTP-TCP 以及属于 SO 服务器和您的浏览器的两个套接字。

【讨论】:

  • 这个帖子没有错,只是有点啰嗦,没有直接回答问题。需要修改。
  • 我真的很想知道这篇文章应该以什么方式被否决并有资格被删除。我想纠正我的错误。我已经提出了一些基本的术语,我认为考虑到这些问题是如何简单化和通用的。我愿意接受批评。所以,@downvoters,请您提供原因。
猜你喜欢
  • 2011-09-19
  • 2023-03-29
  • 2020-06-15
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2017-02-26
  • 2010-11-09
  • 2010-10-01
相关资源
最近更新 更多