http/tcpip/socket

网络由下往上分为

 

  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

 

  IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。

  三者从本质上来说没有可比性。

 

       socket则是对TCP/IP协议的封装和应用。 

 

  也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,

  而HTTP是应用层协议,主要解决如何包装数据。

 

  关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:

  “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。

  如果想要使传输的数据有意义,则必须使用到应用层协议。

  应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。

  WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

 

  而我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。

  通过Socket,我们才能使用TCP/IP协议。

  实际上,Socket跟TCP/IP协议没有必然的联系。

  所以说,Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,

 

总结:

socket是针对TCP/IP协议开放的API。

自建socket等于废弃应用层的协议(例如http),自己新建应用层协议(所以 socket套接字要绑定端口,类似于http要一个端口)。再换句话说,http是用socket实现了TCP/IP。

因为socket是针对TCP/IP协议开放的API,所以socket是有三次握手这样的特性的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值