socket http协议的区别

简单来说,我们平常浏览的网页如果已http://开头的都是http协议传输到我们的浏览器的,而http是基于socket之上的,就是说http携带数据,socket提供传输的动力。socket不是一个协议,只是一个接口或者说是api,socket只是帮助使用者更简单的建立tcp,udp链接而已。

1. 关于协议

HTTP协议:对应于应用层 ,主要解决如何包装数据,
TCP协议: 对应于传输层
ip协议: 对应传输层,主要解决数据如何在网络中传输;

Socket:是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

2.关于长连接,短连接

http连接:http连接就是所谓的短连接,即客户端向服务端发送一次请求,服务端响应后立即断开连接。

socket连接:socket连接就是所谓的长连接,理论上客户端跟服务端一旦建立连接就不会主动断掉;但是由于各种原因可能会断开,比如:客户端或者服务端网络断掉了,网络故障,或者两者之间长时间没有消息互通,系统防火墙可能会中断连接,释放网络资源。所以当socket连接中没有数据传输的时候,我们可以自定义发送特定的消息,用来维持连接。

3. 总的来说

  1. Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等。而TCP和UDP协议属于传输层 。 http是个应用层的协议,它实际上也建立在TCP协议之上。
    (HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。)
  2. Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。

4.udp/tcp的区别

1.tcp是一对一面向连接,udp可以一对一也可以一对多连接。

2.tcp稳定可靠不丢包,udp不稳定不可靠会丢包。

3.tcp占用时间长,占用资源多,udp占用时间少,占用资源少。

4.tcp可以保证数据传输的前后顺序,udp不能保证。

4.1关于tcp的三次握手
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去(也就是长连接)。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开)

socket协议 http协议的区别,长短连接,tcp/udp协议区别相关推荐

  1. Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)

    1.OSI 7层网络模型 1.网络七层协议 (1)OSI定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层.应用层),即ISO开放互连系统参考模型. (2)各层功能定义 这里 ...

  2. 网络编程—网络基础概览、socket,TCP/UDP协议

    网络基础概览 socket概览 socket模块-TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...

  3. 传输层 - TCP / UDP 协议详解

    我是目录: 1.UDP协议: 2.TCP协议: (1)TCP协议段格式: (2)确认应答(ACK)机制 (3)超时重传机制: (4)连接管理机制(三次握手.四次挥手) (5)滑动窗口: (6)流量控制 ...

  4. 最全的TCP/UDP 协议知识点整理

    关于计算机网络的基础知识,我前面写的两篇文章是入门文章,可以帮你构建一个计算机网络的基础架构,有了这个基础架构,后面的学习会很简单.下面是两篇文章的连接~~ 计算机网络体系结构与参考模型(1) 计算机 ...

  5. 利用TCP/UDP 协议制作一个飞秋聊天工具

    视频操作演示: 利用TCP/UDP 协议制作一个飞秋聊天工具演示视频 int udp_broadcast(char const*argv[]) {//1.创建对象udp_socket = socket ...

  6. QQ--基于TCP/UDP协议的通讯原理

    QQ是一个基于TCP/UDP协议的通讯软件  发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服 务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!   一 ...

  7. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  8. 传输层TCP/UDP协议

    可靠的TCP协议(传输层) 1)  TCP封包结构如下图: 各字段的含义为: 封包序号:记录每个封包的序号,当TCP封包大于IP封包的长度时,TCP封包就需要拆分成更小的包,来下发给网络层,通过该字段 ...

  9. 网络层协议与应用及传输层TCP/UDP协议

    网络层协议与应用及传输层TCP/UDP协议 目录 一.IP数据包格式 二.ICMP协议 三.ARP协议及ARP工作原理 四.TCP协议及常用端口号 五.UDP协议及常用端口号 一.IP数据包格式 网络 ...

  10. 什么是TCP/UDP协议?(超简单,一看就会)

    TCP/UDP协议做了什么? TCP/UDP协议处于计算机网络的第四层"传输层",负责传输数据包. 数据包怎么传?(UDP协议) TCP/UDP协议处于计算机网络的第四层" ...

最新文章

  1. 3D Slicer实现纤维追踪(大脑纤维束成像)+核磁共振影像数据处理
  2. 还在网上找Demo?这个Java项目真香!
  3. TSQL中实现ORACLE的多列IN 多列匹配。
  4. php 504网关,504 gateway timeout什么意思
  5. dw二级联动下拉菜单插件 宋君墨_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...
  6. 简单总结下8.25技术大会感受
  7. android u盘加载_如何获取Android系统挂载U盘的路径
  8. animals中文谐音_魔力红歌曲Aanimals中文谐音,就是音译歌词
  9. RocketMQ-Topic创建
  10. 《编译原理》求短语,直接短语,句柄,素短语,最左素短语 - 例题解析
  11. 文件操作(第二节文件的写入和读取)
  12. win8.1系统在线安装VS2017出现Internet连接问题的解决办法
  13. 网络入侵防御系统全解
  14. win7电脑远程桌面连接提示已停止工作,但电脑没有蓝牙,不是受蓝牙影响,且影响电脑卡顿必须重启故障模块名称:StackHash_e1f3
  15. 全志a10 Android,全志A10 Android4.0 电话系统 使用说明文档 (MU509篇)
  16. 文献下载神器 Sci-Hub 的最新地址
  17. 通俗的角度理解遍历性定理 (从大数定理,中心极限定理再到遍历性定理)
  18. 国信证券学习系列(2)
  19. 百度SEO花生壳动态域名解析软件 v5.3.0.34889
  20. SQL Server 常用关键字

热门文章

  1. mysql查看连接数命令_MySQL 连接数和状态查看命令
  2. python列表去重计数
  3. 奇妙之旅:SIMD加速矩阵运算
  4. 静态代码扫描工具—— TScanCode
  5. word2vec模型评估_利用机器学习探索食物配方 通过Word2Vec模型进行菜谱分析
  6. flex DataGrid 对象绑定到字段
  7. springboot笔记整理
  8. 操作系统实验--进程调度
  9. Dos命令之chcp
  10. 名言警句之英汉对照1