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

Linux12-TCP\HTTP

一、TCP粘包问题

1.TCP在接受数据时,多包数据粘在一起

2.原因:

        2.1TCP发送数据时,会根据缓冲区数据的情况进行重新组包

        2.2TCP接收方,没有及时读走缓冲区数据,导致缓冲区大量数据缓存。

3.如何解决

        3.1发指定大小字节

将要发数据,封装在结构体里

struct data

{

        int id;

        float tmp;

        xxx

}; 

缺点:发送端与接收端体系不同,32位与64位对齐方式的不同造成数据丢失;所有要在指定的相同平台使用,注意结构体对齐问题。

        3.2发送具有指定分隔符的数据

        hello world\n

        miss you\n

        3.3封装自定义数据帧

        AA len0C  0001 0112 1314 1504 XXXX XXXXBB

        校验:8位和校验

                  16位和校验

二、网络抓包

抓取通过设备网卡的数据

wireshark:网络抓包工具

1.分析和追踪网络问题

2.查看网络协议栈

安装:sudo apt-get install wireshark

1.sudo wireshark

2.选择通信设备的网卡==》any

3.选择抓取的过滤条件

4.开始抓取

5.进行一次通信

三.TCP报文头


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

四、TCP机制

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

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

五、HTTP(应用层)

超文本传输协议

1.世界范围内的广域网--万维网WWW

万维网服务器如何标记万维网文档?---------------->url:统一资源定位符

万维网客户端和万维网服务器如何通信?---------->http:超文本传输协议

万维网客户端如何显示数据?------------------------->HTML:超文本标记语言

URL:

<协议>://<主机>:<端口>/<路径>

/*创作中心-CSDN https://mpbeta.csdn.net/mp_blog/creation/editor?spm=1001.2014.3001.4503*/

应用层:
HTTP协议:浏览器与服务器之间的通信标准
端口号:80

传输层:tcp协议

1. HTTP工作流程

1. 请求TCP连接
2. 发送http请求报文
3. 接收http响应报文
4. 关闭连接

爬虫

2.HTTP报文格式:

Connection: keep-alive
http的(tcp)连接方式
keep-alive:长连接,服务器不会立马断开,会等待一段时间断开

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

相关文章:

  • e2studio开发RA2E1(18)----看门狗WDT
  • SEO新手操作实战精要
  • 未来经济范式争夺战:AR眼镜为何成为下一代交互终端的制高点?
  • Compose Multiplatform+Kotlin Multiplatfrom 第四弹跨平台
  • 文件下载/文件导出---使用a标签,访问文件路径进行下载
  • 算法1-4 凌乱的yyy / 线段覆盖
  • 全星FMEA软件系统在汽车电子行业的应用介绍
  • 2024 JAVA面试题
  • CSS—flex布局、过渡transition属性、2D转换transform属性、3D转换transform属性
  • 2025-03-04 学习记录--C/C++-C语言 判断是否是素数
  • stable-diffusion-webui 加载模型文件
  • sql调优(oracle):优化响应时间(优化sql) / 优化吞吐量; 高斯调优
  • 一、OpenGL的原理解析
  • FreeRTOS 源码结构解析与 STM32 HAL 库移植实践(任务创建、删除篇)
  • Windows 10/11 系统下 Git 的详细安装步骤和基础设置指南
  • Foxglove 介绍以及入门使用教程
  • 【AI深度学习基础】Pandas完全指南终极篇:构建企业级数据工程与AI应用 (含完整代码)
  • Spring40种注解(下)!!
  • 【图像识别做UI自动化第一章】UI自动化代码设计思路
  • 【Go】Go viper 配置模块
  • 手机怎样建立自己网站/济宁seo推广
  • 做建材营销型网站/搜索引擎优化工具
  • 北京网站建设公司网络营销外包网络建站报价/2021全国大学生营销大赛
  • 怎么给自己的网站做排名/外贸如何做网站推广
  • 内蒙古建设厅门户网站/信息服务平台有哪些
  • 外贸网站怎么推广/朋友圈软文