Car*_*zer 7 sockets httpconnection
套接字只是两台机器之间的连接吗?如果可以建立套接字,为什么我们甚至使用HTTPConnection?
Ric*_*uen 19
我假设这是关于套接字和HTTP连接之间关系的一个非常普遍的问题.我还假设"HTTPConnection"并不涉及涉及特定API /运行时/环境的内容,即使它是带有空格的骆驼套接字的方式也可能暗示其他情况.
现在已经不在了,我向您呈现OSI模型:

OSI模型描述了网络通信的抽象级别.甲插座是这将某处存在于层3,一个概念网络层,作为一部分网际协议(IP) .
HTTP是比IP更高的抽象,通常被认为是在应用层中,在OSI模型的"顶部".
您可以像定义网络内容一样,在不同的"层"定义城市的交通和交通.
两件重要的事情:
首先,每层取决于它下面的一个.没有建筑物(目的地)的道路变得愚蠢.没有道路,交通法则很愚蠢.没有交通法规,交通信号灯很傻.
其次,较高层的具体细节取决于您所在的城市:有时您发现自己处于人们左侧驾驶的国家,有时他们在右侧驾驶.有时你可以打开红色,有时不打开.有时会有道路,但它们没有法律.
因此,在Internet上,有时您会与不同类型的服务器进行通信.在下面,他们可能都依赖于插座(互联网的"道路"),但他们都有自己的"交通规则",你必须尊重 - 像HTTP或FTP或SOAP这样的协议.
Ree*_*sey 12
Http是一个建立在套接字之上的协议.
当你使用Http时,你在套接字上使用了更高级别的抽象.你还在使用套接字.
这有点像说"当你可以使用文件时,为什么要使用.xyz文件?"
可以说,套接字只是两个远程系统之间的流,它使用 TCP/IP 或 UPD 较低层协议来传输数据。HTTP 是更高级别的协议,它指定系统如何通信。
小例子:空中是语音的传输层,但是您需要单词(上层协议)来与其他人进行通信。
但更适合您阅读这里: http: //en.wikipedia.org/wiki/OSI_model