http - HTTP 请求如何被拆分为多个数据包?
问题描述
我是一名应用程序开发人员,正在研究如何在传输层传递 HTTP 请求/响应,并找到了一些对我有帮助的好资源,但仍有一些问题我无法追踪
该线程帮助我理解,当请求向下传递到每一层时,该层将使用标头“封装”有效负载,直到它通过网络发送
所以我目前的理解是 HTTP 请求实际上是一个有效负载,然后 TCP 层将在其上抛出一些标头。这些标头似乎主要用于跟踪将来回传输的消息数据包的顺序
然后 IP 标头被打上(https://www.thegeekstuff.com/2012/03/ip-protocol-header/),它只跟踪数据包的源/目的地和大小
很明显,每个 HTTP 请求都不会 1:1 映射到一个数据包,根据我发现的情况,看起来请求可以分解为多个片段以通过 TCP 流式传输
如果需要分解请求,那么执行此操作的代码在哪里?
解决方案
推荐阅读
- azure - 是否有内置角色允许对订阅中的所有内容执行所有者类型操作,但不允许对订阅本身进行操作
- react-native - 对 React Native 应用程序实现视频通话的最佳方法是什么?
- sql - ORACLE SQL Group 按财政年度
- python - Tensorflow NN没有给出任何合理的输出
- c# - 如何在消费者类型的应用程序中缓存 DataContext 实例?
- flutter - Flutter:如果 AppLifecycleState == resumed 则取消 Timer
- java - 递归方法调用在 kotlin 中导致 StackOverFlowError 但在 java 中没有
- ibm-datacap - 我可以根据其中一个字段值对 datacap 中提取的行项目进行排序吗?
- ios - 带有 Firebase 的 Mac Catalyst 应用程序不会收到推送通知
- angular - 在反应式表单中创建表单控制组