一、tcp和udp区别?

三次握手安全:tcp建立连接(三次握手),安全可靠(有序,无差错、无丢失、无重复);

建立连接:udp通信前不需建立连接,不可靠传输(视频、音频通话);

分组开销:TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。

控制:TCP提供拥塞控制和流量控制机制;UDP不提供;

总结:tcp安全、面向字节流传输有分组开销、有流量和拥塞控制机制;

二、post和get?

长度:post请求长度无限制,get有限制;

参数位置:post参数放在body,get请求参数放在url(参数暴露);

参数限制:GET请求参数只能是ASCII码(所以中文需要URL编码),而POST请求传参没有这个限制;

实质相同点:其实,GET和POST本质上两者没有任何区别。他们都是HTTP协议中的请求方法。底层实现都是基于TCP/IP协议。

三、线程和进程;

任务调度:线程是CPU任务调度的基本单位;

资源分配:进程是系统资源分配的基本单位,多个线程共有进程资源;

四、http与https

1、ca:https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、ssl(明文与加密):http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、端口80与443:http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、状态:http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

https://www.cnblogs.com/wqhwe/p/5407468.html

五、http与socket区别:分别是短连接,和长连接;

六、socket的拆包和分包

原因:发送端优化算法,或者接收端延迟接收;

方案:添加包头,通过包头数据长度信息读取数据;

(完整的数据包 = 服务号(id) + 数据包长度(length) + 数据)

https://www.jianshu.com/p/9ea0f0c84990

七、结构数据序列化工具:protocol buffer(协议缓冲区,独立的数据交换格式)对比json、xml

1 二进制流:序列化后,数据是二进制流而不是字符串:

2 协议文件:序列化需要事先定义数据格式(.proto 协议文件),反序列化(还原)需要预定义好的数据格式;

3 传输大量数据时,更小更快;使用维护更简单;且跨平台、跨语音;

备注:ios开发 : pod protobuf

https://blog.csdn.net/mzpmzk/article/details/80824839

八、大头(socket传输时,低字节在高地址)与小头(intel的cpu,低字节在低地址)

https://blog.csdn.net/m0_37690319/article/details/80542259

线程与进程,http、https(post、get),socket(tcp、udp)的拆包和粘包,protocol buffer、大头小头简述相关推荐

  1. 文件传输_python socket实现文件传输(防粘包)

    1.文件传输的要点: 采用iterator(迭代器对象)迭代读取,提高读取以及存取效率: 通过for line in file_handles逐行conn.send(): 2.socket粘包问题: ...

  2. 【Socket网络编程】0.socket TCP/UDP 可参考 【lx青萍之末】 的 【Linux网络编程 】系列博客

    关于socket TCP/UDP 相关知识 可参考博主[ lx青萍之末] 的 [Linux网络编程 ]系列博客 https://blog.csdn.net/daaikuaichuan/category ...

  3. Socket封包、拆包、粘包

    接触Socket通信的过程中,遇到了各种有关数据包的问题.这里做一下记录. 一.Socket粘包 1.什么是粘包? 答:顾名思义,其实就是多个独立的数据包连到一块儿. 2.什么情况下需要考虑粘包? 答 ...

  4. 并发编程知识总结,软件开发架构,socket套接字模板,粘包问题,struct解决粘包问题,上传大文件数据,socketserver,关于操作系统的发展史,进程,线程。...

    并发编程知识总结 软件开发架构 C/S: client:客户端 server:服务端 优点:占用网络资源少,软件的使用稳定 缺点:服务端更新后,客户端也要更新,需要使用多个软件,需要下载多个客户端 B ...

  5. python socket.socket()函数 套接字详解及TCP、UDP程序示例(粘包等)

    文章目录 socket的定义 套接字的工作流程 socket函数使用 socket函数用法 服务端套接字函数 客户端套接字函数 公共用途的套接字函数 面向文件的套接字方法 打电话的流程演示 服务端.p ...

  6. Socket 套接字和解决粘包问题

    ---恢复内容开始--- Socket 套接字: 什么是socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实 就是一个门面模式,它 ...

  7. 【Java 网络编程】Socket TCP UDP 联系

    文章目录 I 信息传输关注点 II Socket 与 TCP UDP 关系 III Socket 连接组成 ( IP地址 + 端口号 ) IV Socket TCP V Socket UDP VI C ...

  8. python socket实现文件传输(防粘包)

    1.文件传输的要点: 采用iterator(迭代器对象)迭代读取,提高读取以及存取效率: 通过for line in file_handles逐行conn.send(): 2.socket粘包问题: ...

  9. pythontcp文件传输_python socket实现文件传输(防粘包)

    1.文件传输的要点: 采用iterator(迭代器对象)迭代读取,提高读取以及存取效率: 通过for line in file_handles逐行conn.send(): 2.socket粘包问题: ...

最新文章

  1. 将成化学键的成键过程理解成是用分子测量本征值的过程
  2. JSPatch defineProtocol 实现详解
  3. VTK:IO之GLTFExporter
  4. 实现klib_使用klib加速数据清理和预处理
  5. 小谈Online-game服务器端设计(4)
  6. Android kernel Crash后,定位出错点的方法
  7. 1014-新浪微博(数据 cell )
  8. 基于CUDA的三维VTI介质逆时偏移与ADCIGs提取
  9. UE4中Bebavior Tree中Delay及其后面代码失效的原因
  10. 支持 vulkan android,Vulkan 使用入门
  11. iOS 中 常用的第三方库
  12. ssh登录慢的解决办法
  13. VHDL/Verilog HDL实现任意整数倍分频器
  14. 仅需6步!虹科教你如何在第三方软件CODESYS中配置PCAN
  15. matlab imwareaopen,李祎 副教授
  16. touch: cannot touch ‘***’: Read-only file system
  17. 软件测试之独步武林系列(一)
  18. 实验二实验结论实验总结与体会
  19. php制作日历带节日实验目的,php制作日历
  20. 从2.3.3到4.1.1:最全的android系统源码下载大集合

热门文章

  1. splice-----强大的数组方法
  2. 年后购机好时节 联想打印超级品牌日登陆
  3. Web 攻防之业务安全:密码找回安全案例总结.
  4. 经营资产管理和竞争力分析
  5. Lenovo笔记本功能键不用按Fn键如何进行设置
  6. 最通俗易懂的讲解:lambda表达式
  7. Linux 内核0.11 系统调用详解(下)
  8. 【陀螺财经】数字货币每日行情简报0213
  9. 大数据分析就业班课程大纲
  10. 出海美利坚 不可忽视的未成年人法律红线