IT Panda Blog

Life is fantastic


  • Home

  • Tags

  • Categories

  • Archives

Http vs. Socket

Posted on 2019-09-21 In network

TCP vs Http vs Socket

OSI七层模型

OSI Open System Interconnect是ISO早在1985年就确立的一种网络互联模型;确立模型的意义在于,任何的厂商可以根据这个模型提供统一的规范。

OSI分七层:(自顶向下)

  • 应用层:直接面向应用程序的,HTTP/HTTPs/FTP/SMTP/POP3/WebSocket
  • 表示层:将应用层的数据,进行转换/加密
  • 会话层:所有与会话相关的,比如建立会话,管理会话,维持会话,SSL/TLS
  • 传输层:建立/管理/维护,端到端的连接,TCP/UDP
  • 网络层:IP,路由,IP/IPv4
  • 数据链路层:
  • 物理层:

特征:对等通信,数据从A传输到B,那么A和B必须位于OSI七层中的同一层

TCP/IP五层模型

将OSI七层模型中的,应用层+表示层+会话层 合并 为应用层

TCP vs UDP

  • TCP是面向连接的,建立连接需要进行3次握手和4次分手,也就是各种ACK;而UDP不是面向连接的,传送数据不先建立连接,也不在乎ACK;所以UDP无连接,不可靠
  • 但是UDP这种无连接这种特性使得它效率更高,实时性更好
  • TCP服务器最大并发连接数:由于端口号上限为65535,所以TCP服务器理论上可承受的最大并发连接数也是65535,但实际上受限于系统性能,即文件句柄数ulimit -n

Http vs Socket

Http协议是建立在TCP协议之上的应用层协议,它封装了Http数据,使用Tcp层进行传输;同时它属于短连接,即每次连接都需要close

  • Http 1.0:每次请求都需要建立一个单独的连接,处理完请求后,自动释放连接
  • Http 2.0:一次请求可以处理多个连接,不需要等待一个请求处理完毕才处理下一个请求

Socket是种抽象概念,它最主要的作用:对TCP/IP,即传输和网络层的操作进行了抽象封装,它提供了接口API,将复杂的TCP/IP操作隐藏起来

Socket vs WebSocket

  • Socket是抽象概念;WebSocket是应用层协议

WebSocket vs Http

  • WebSocket也是同Http一样,建立在Tcp之上的
  • WebSocket需要使用Http进行一次握手,之后,就模拟Socket,使用Tcp层进行数据传输
  • WebSocket是双向传输的,Http是单向的

WebSocket vs Html5

WebSocket是Html5标准的一部分

http socket osi
SSO: Basic-Auth & OAuth2 & SAML & OpeanID
2019 阿里巴巴云栖大会 - Alibaba Apsara
  • Table of Contents
  • Overview
Rex

Rex

25 posts
26 categories
49 tags
Links
  • GitHub
  1. 1. TCP vs Http vs Socket
    1. 1.1. OSI七层模型
    2. 1.2. TCP/IP五层模型
    3. 1.3. TCP vs UDP
    4. 1.4. Http vs Socket
    5. 1.5. Socket vs WebSocket
    6. 1.6. WebSocket vs Http
    7. 1.7. WebSocket vs Html5
© 2019 – 2020 作者拥有版权,转载请注明出处