zoukankan      html  css  js  c++  java
  • Http 与 Socket

    之前对HTTP和Socket的区分认知有点偏差,刚好有空就补一下

    HTTP与Socket

    •  Http是基于TCP的应用层协议,是一种短连接,使用80端口
    •  Socket是操作系统提供的Api(可以进行各种通信方式,可以使用UDP,TCP等多种协议) ,详见其Api定义。
    •  可以用Socket实现HTTP

    HTTP 协议对应于应用层,Socket 则是对 TCP/IP 协议的封装和应用(程序开发层面上)

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

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

    通过Tcp/Ip,我们才能使用socket。实际上,Socket 跟 TCP/IP 协议没有必然的联系。Socket编程接口在设计的时候,就希望也能适应其他的网络协议。

    也就是,Socket 的出现只是使得程序员更方便地使用 TCP/IP 协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道 的一些最基本的函数接口,比如 create、listen、connect、accept、send、read和 write 等。


    有一段关于 Socket 和 TCP/IP 协议关系的说法,可能比较容易理解:

    TCP/IP 只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外 的操作接口。

    这个就像操作系统会提供标准的编程接口,比如 win32 编程接口一样,TCP/IP 也要提供可供程序员做网络开发所用的接口,这就是 Socket 编程接口。

     
     
     
    参考:

    共同学习,共同进步,若有补充,欢迎指出,谢谢!

  • 相关阅读:
    处理跨浏览器的事件处理程序
    html5 canvas时钟
    拖拽事件的原理
    改变top使用轮播图
    程序开发之最大子数组
    第四周学习进度
    敏捷开发相关阅读
    构建之法读书笔记04
    四则运算终结版
    第三周学习进度
  • 原文地址:https://www.cnblogs.com/dengguangxue/p/12192098.html
Copyright © 2011-2022 走看看