• Socket是什么,通俗易懂点说


    网络由下往上分为 物理层 、数据链路层 、 网络层 、 传输层 、 会话层 、 表现层 和 应用层。

    通过初步了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。

    TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP协议是应用层协议,主要解决如何包装数据。

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

    “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。如果想要使传输的数据有意义,则必须使用到应用层协议。
      应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。
      WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

    什么是Socket
    那么我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,它的出现只是使得程序员更方便地使用TCP/IP协议栈而已。socket本身并不是协议,它是应用层与TCP/IP协议族通信的中间软件抽象层,是一组调用接口(TCP/IP网络的API函数)

    网络有一段关于socket和TCP/IP协议关系的说法比较容易理解:

      “TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。
      这个就像操作系统会提供标准的编程接口,比如win32编程接口一样。
      TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”

    HTTP是轿车,提供了封装或者显示数据的具体形式;
    Socket是发动机,提供了网络通信的能力。

    实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。

    原文地址https://blog.csdn.net/github_34606293/article/details/78230456

  • 相关阅读:
    923c C. Perfect Security
    hdu ACM Steps Section 1 花式A+B 输入输出格式
    我回来了
    POJ–2104 K-th Number
    bzoj1009: [HNOI2008]GT考试
    bzoj1875: [SDOI2009]HH去散步
    1898: [Zjoi2005]Swamp 沼泽鳄鱼
    Hadoop
    程序员的自我修养
    Effective C++笔记
  • 原文地址:https://www.cnblogs.com/thirteen-yang/p/12712392.html
Copyright © 2020-2023  润新知