当前位置: 首页 > article >正文

TCP协议/HTTP协议

1.粘包问题:在接受数据时,会出现多包数据粘在了一起

2.原因:

3.如何解决TCP粘包

1.发送指定大小的数据包(结构体)(指定在相同的平台,结构体对齐问题)

struct data

{

int id;

float tmp;

xxx;

};

2.发送具有指定分隔符的数据(字符串)

“hello world\n”;

3.封装自定义数据帧

校验:8位和校验/16位和校验

网络抓包:抓取通过设备网卡的数据

wiresnark:网络抓包工具

UDP头部与TCP头部对比:UDP头部只有8个字节,而TCP有20个字节的固定首部

TCP报文头:

    标志位:
    1. URG: 紧急指针标志, 为1时表示紧急指针有效, 该报文应该优先传送。
    2. ACK: 确认应答标志
    3. PSH:  表示发送数据,提示接收端从TCP接收缓冲区中读走数据,为接收后续数据腾出空间
    4. RST: 重置连接标志
    5. SYN: 表示请求建立一个连接
    6. FIN: finish标志, 表示释放连接

TCP机制:

 1. 应答机制:为每个数据增加序列发,发送数据时,第一个数据的序号作为报文中的序号。接收方收到相关数据,会回应ACK报文,报文中的确认号是接收方下次希望接收到的数据的起始序号。

 2. 超时重传机制:TCP发送数据后会在一定的时间内等待ACK,假设在指定时间ACK未收到,则视这包数据已经丢失,会重新传输这包数据。

 3. 流量控制机制:根据接收方接收数据的能力,调整窗口大小,通知发送发进行流量控制

此外,还有捎时应答机制,延时应答机制,滑动窗口机制

HTTP:

1.url(统一资源定位符)

2.http:浏览器与服务器之间的通信标准

端口号:80;

传输层协议:TCP;

3.http工作流程:

4.http的报文格式:

请求报文:方法

回应报文:状态码

注意:connect:keep-alive

长连接,服务器不会立马断开,会等待一段时间自动断开

close:短连接,服务器在发送完数据后会立马断开


http://www.kler.cn/a/571637.html

相关文章:

  • centOS 环境 安装redis方法
  • Python Web应用开发之Flask框架——基础
  • Windows平台调试器原理与编写04.硬件断点
  • mongodb,redis,hbase都是nosql数据库,其最大区别和不同定位是什么?redis为什么可以做到百万级QPS?
  • 使用300M带宽是否可以流畅地玩原神
  • CSS—隐藏元素:1分钟掌握与使用隐藏元素的方法
  • Unity方向键控制物体移动与跳跃
  • 网络安全域的划分与隔离
  • 【文献阅读】ViNT: A Foundation Model for Visual Navigation
  • 智能设备上的 AI 移植与部署:新趋势与实践案例
  • uniapp 解决 H5 跨域问题
  • 基于Swintransformer与对称性损失函数的3D人体姿态估计
  • 论文插图绘制|R语言绘制瀑布图,展示高频突变基因在样本中的分布模式|25-03-04
  • 自动化学习-使用git进行版本管理
  • php的笔记(更新中)
  • 电子电气架构 --- 拓扑架构集中的趋势及其演变
  • RK3568平台(网络篇)RTL8111网卡
  • 【Elasticsearch】修改数据流(Data Stream)
  • 蓝桥云客 跑步
  • AI编程,常见的AI编程工具有哪些?如何用AI编程做一个简单的小软件?