HTTP1.1 Notes 5, Connections

[color=blue][b]Persistent Connections[/b][/color]
advantages:
- By opening and closing fewer TCP connections, CPU time is saved
in routers and hosts (clients, servers, proxies, gateways,
tunnels, or caches), and memory used for TCP protocol control
blocks can be saved in hosts.

- HTTP requests and responses can be pipelined on a connection.
Pipelining allows a client to make multiple requests without
waiting for each response, allowing a single TCP connection to
be used much more efficiently, with much lower elapsed time.

- Network congestion is reduced by reducing the number of packets
caused by TCP opens, and by allowing TCP sufficient time to
determine the congestion state of the network.

- Latency on subsequent requests is reduced since there is no time
spent in TCP's connection opening handshake.

- HTTP can evolve more gracefully, since errors can be reported
without the penalty of closing the TCP connection. Clients using
future versions of HTTP might optimistically try a new feature,
but if communicating with an older server, retry with old
semantics after an error is reported.

主流浏览器都支持persistent connection
像Firefox里就可以设置network.http.max-persistent-connections-per-server参数,默认为6
network.http.keep-alive.timeout参数默认为300ms

An HTTP/1.1 server MAY assume that a HTTP/1.1 client intends to maintain a persistent connection unless a Connection header including the connection-token "close" was sent in the request
If the server chooses to close the connection immediately after sending the response, it SHOULD send a Connection header including the connection-token close

An HTTP/1.1 client MAY expect a connection to remain open, but would decide to keep it open based on whether the response from a server contains a Connection header with the connection-token close
In case the client does not want to maintain a connection for more than that request, it SHOULD send a Connection header including the connection-token close

A client that supports persistent connections MAY "pipeline" its requests (i.e., send multiple requests without waiting for each response)
A server MUST send its responses to those requests in the same order that the requests were received

It is especially important that proxies correctly implement the properties of the Connection header field
The proxy server MUST signal persistent connections separately with its clients and the origin servers (or other proxy servers) that it connects to
Each persistent connection applies to only one transport link

[color=blue][b]Message Transmission Requirements[/b][/color]
HTTP/1.1 servers SHOULD maintain persistent connections and use TCP's flow control mechanisms to resolve temporary overloads, rather than terminating connections with the expectation that clients will retry

An HTTP/1.1 (or later) client sending a message-body SHOULD monitor the network connection for an error status while it is transmitting the request
If the client sees an error status, it SHOULD immediately cease transmitting the body

The purpose of the 100 (Continue) status is to allow a client that is sending a request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body

If an HTTP/1.1 client sends a request which includes a request body, but which does not include an Expect request-header field with the "100-continue" expectation, and if the client is not directly connected to an HTTP/1.1 origin server, and if the client sees the connection close before receiving any status from the server, the client SHOULD retry the request
If the client does retry this request, it MAY use the "binary exponential backoff" algorithm to be assured of obtaining a reliable response
Anthropic推理调度层‘蒸发’:协议级架构变革解析 在大语言模型工程实践中,中间件层(如推理调度、负载均衡、会话管理)曾是保障稳定性的关键抽象。随着模型服务协议演进,其功能正从可运维的独立模块,下沉为模型服务栈原生能力——原理上通过HTTP/3扩展协议(如C3P)实现请求整形、流控嵌入与状态透传;技术价值在于消除胶水逻辑、降低延迟与运维熵增;典型应用场景覆盖LLM应用架构升级、SaaS成本优化及AI教学系统重构。Anthropic Claude 3.5的‘调度层蒸发’正是这一趋势的标志性实践,标志着工程重心从堆叠中间件转向深度理解协议承诺与硬件语义。 阅读详情

相关推荐

Django大版本升级避坑指南:从1.x到4.2的系统性迁移实践

Django升级远不止pip install,本质是框架契约的演进与技术债的集中清算。其核心在于理解版本号背后的LTS生命周期、Python兼容性矩阵及ORM/中间件/路由等关键组件的行为变更原理。升级过程涉及安全配置强化(如CSRF_COOKIE_SECURE默认值)、异步支持(ASGI)、类型化路径参数(path())等现代Web能力适配,直接影响admin稳定性、API字段一致性、Celery任务执行和数据库迁移可靠性。本文聚焦Django升级中的真实故障模式——白屏、403、JSONDecodeEr

weixin_34015336的博客 334

Http1.1协议重发

Http1.1协议标准: If an HTTP/1.1 client sends a request which includes a request body, but which does not include an Expect request-header field with the “100-continue” expectation, and if the client is not directly connected to an HTTP/1.1 origin server, and i

weixin_40648117的博客 384

Ubuntu 20.04 安装 Nextcloud 最佳实践:Snap 一键部署与生产调优

Nextcloud 是一款开源私有云文件同步与协作平台,其核心价值在于数据自主可控与端到端可定制。在 Ubuntu 系统中部署 Nextcloud,本质是解决 PHP 运行时、Web 服务器、数据库及缓存服务的版本协同与权限隔离问题。传统 LAMP 方式易因依赖冲突(如 PHP 7.4 不兼容 Nextcloud 25+)和配置碎片化导致失败;而 Snap 封装方案通过自包含运行时(PHP 8.1)、内置 Caddy 服务器与 SQLite/Redis,实现开箱即用、自动 HTTPS 和原子化升级。该方案特

cong84596496的博客 428

js怎样删除服务器文件夹,javascript-如何在服务器上手动取消XMLHttpRequest文件上传(流)...

我正在使用XMLHttpRequest(级别2)将文件上传到node.js服务器.我在服务器端检查文件流中的有效头.现在,如果流式传输中有任何错误,我想触发取消上传.我的XMLHttpRequest代码非常简单:var xhr = new XMLHttpRequest();var file;$('#file').on('change', function(e) {file = this.files...

weixin_39633276的博客 404

【1】概要,构建,分区,升级

node -v查看版本不要超过16,devtool modify webui-vue进入,npm i安装卡在canvas:npm install canvas@2.11.2 --canvas_binary_host_mirror=https://registry.npmmirror.com/-/binary/canvas ,继续npm i,依赖安装完后注释bb中do-compile中rm -rf node-modules。

持续更新ing... 6259

ESXI 8.0.3 ubuntu 24.04 直通显卡P40

手把手,一步步教你直通GPU,ESXI 8.0.3 ubuntu 24.04 直通显卡P40

qq_36433118的博客 4682

HTTP协议中关于请求头参数的解释

part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al.14 Header Field Definitions This section defines the syntax and semantics of all standard HTTP/1.1 header fields. For entity...

小猪佩奇工作室 1万+

手把手教你用ROS和Gazebo搭建Unitree A1机器狗仿真环境(含URDF/Xacro详解)

本文详细介绍了如何使用ROS和Gazebo搭建Unitree A1机器狗的仿真环境,涵盖URDF/Xacro文件编写、Gazebo物理引擎集成及ROS控制实现。通过实战指南,帮助开发者掌握四足机器人仿真技术,提升开发效率。

bush的博客 277

超文本传输协议版本 2

超文本传输协议版本 2 IETF HTTP2草案(draft-ietf-httpbis-http2-13) 摘要 本规范描述了一种优化的超文本传输协议(HTTP)。HTTP/2通过引进报头字段压缩以及多路复用来更有效利用网络资源、减少感知延迟。另外还介绍了服务器推送规范。 本文档保持对HTTP/1.1的后向兼容,HTTP的现有的语义保持不变。 1 介绍

WuOu的专栏 3051

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

在本教程中,我们将使用 Ubuntu 20.04 版本,该版本使用了新的 Ubuntu 桌面安装程序,该程序将包含在今后发布的所有 Ubuntu 版本中。如果你选择了这个选项,你会看到一个简单的界面,允许你选择要安装Ubuntu的硬盘,并通过滑块来决定你希望Ubuntu使用的磁盘空间大小。如果你的电脑有多个硬盘驱动器,那么只要它们各自有自己的驱动器,这个选项就能让你在安装 Ubuntu 的同时安装现有的操作系统。在此屏幕上,系统会提示您输入您的姓名和您的计算机名称,以显示在网络上。

机器人控制与仿真应用 4507

SPMI协议学习总结

SPMI(System Power Management Interface)是由MIPI(Mobile Industry Processor Interface)联盟定义的一种硬件接口标准,它主要用于移动设备中,连接SoC(System on Chip)处理器系统的集成电源控制器与一个或多个电源管理IC(PMIC),以实现精确的电源管理

歌颂苦难的行为是无耻的; 1078

nginx(一)--基本配置

一、 Nginx介绍 Nginx:engine X ,2002年,开源,商业版 NGINX是免费,开源,高性能的HTTP和反向代理服务器, 邮件代理服务器,通用TCP/UDP代理服务器 解决C10K问题(10K Connections) 官网:http://nginx.org 二次开发版: Tengine, OpenResty(章亦春) 特性: 模块化设计,较好的扩展性 高可靠性 支持热部署:不停机更新配置文件,升级版本,更换日志文件 低内存消耗:10000个keep-alive连接模式下的非活动连接,仅

xiaochenwj1995的博客 1047

SAP PFCG 中的单一角色与复合角色

在 SAP 系统的安全与授权管理中,事务码 PFCG(角色维护)扮演着关键角色。理解单一角色(Single Role)和复合角色(Composite Role)的概念,对于有效地管理用户权限至关重要。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1476

SAP PI 开发常见问题

本文章将持续更新,记录开发过程中各种稀奇古怪的问题及解决方案。

m0_38069169的博客 2736

YOLOv8改进 | 特殊场景检测篇 | 最新的多尺度特征提取DICAM(全网独家首发,增强水下图像的质量)

本文给大家带来的最新改进机制是多尺度特征提取和通道注意力机制DICAM,深度Inception和通道注意力模块(DICAM)主要用于用于增强水下图像的质量、对比度和色偏。所提出的DICAM模型考虑了水下图像的比例退化和不均匀色偏,从而提高图像的质量。通过在两个公开的水下图像增强数据集上的广泛实验,验证了提出的模型在全参考和无参考图像质量评估指标方面。欢迎大家订阅我的专栏一起学习YOLO,购买专栏读者联系读者入群获取进阶项目文件!

Snu77的博客 2216

​​手把手教你学PCIE--ATU 的 Bar 匹配模式与地址匹配模式详解​

摘要: ATU(地址转换单元)提供两种地址匹配模式:Bar匹配模式基于PCI设备的BAR寄存器自动映射虚拟地址(只需配置物理基址),适用于标准PCI设备DMA;地址匹配模式需显式配置虚拟与物理地址范围,适合自定义映射场景。核心区别在于匹配依据(BAR自动推导vs人工定义),Bar模式简化配置,地址模式更灵活。

MHD0815的博客 380

全面了解 Nginx

作者:Lionhttps://juejin.cn/post/6942607113118023710Nginx 概述Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热...

HelloGitHub 的博客 768

R语言单因素被试内ANOVA检验

在R语言中,我们可以使用多种方法进行被试内ANOVA检验,其中包括使用内建函数或使用外部包。我们随机选择了10个被试,并对每个被试使用了三种不同的药物处理。通过上述代码示例,我们可以使用R语言进行单因素被试内ANOVA检验。假设我们的数据存储在一个名为"data"的数据框中,其中包含两个列:一个列是被试的编号,另一个列是生物指标的测量值。在上述代码中,我们创建了一个名为"data"的数据框,其中"Subject"列包含了被试的编号,"Measurement"列包含了生物指标的测量值。参数指定了数据来源。

PixelNovaO的博客 363

nginx入门

Nginx 概述 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7*24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。 性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。 Nginx 特点 特点如下: 高并发、高性能。 模块化架构使得它的扩展性非常好。 异步非阻塞的事件驱动模型这点和 Node.js 相

weixin_39858697的博客 589

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Burp Extensions实战:十种高级WAF绕过技术与自动化测试流程

Web应用防火墙(WAF)作为现代Web安全的核心防线,通过规则匹配、语义分析和行为检测等多层机制识别并拦截恶意流量。其工作原理在于实时解析HTTP/HTTPS请求,并与预定义或动态更新的攻击特征库进行比对。掌握WAF绕过技术对于渗透测试和防御验证具有重要价值,能有效评估安全防护的实际强度。在实际应用场景中,自动化工具与系统化流程的结合是关键。通过Burp Extensions这类插件化平台,测试者可以实现Payload的动态混淆、分块传输、协议级变异等高级绕过手法,并集成到侦察、分析、绕过、验证的标准化流

weixin_34335458的博客 627

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Kimi-K2.5实战指南:轻量AI任务的免费高并发替代方案

大语言模型API调用成本高、延迟大、运维重,已成为开发者日常高频轻量任务(如代码补全、日志翻译、文档摘要)的主要瓶颈。Kimi-K2.5作为专为短文本理解与轻量生成优化的精简模型,依托英伟达Build平台提供低延迟(P95<380ms)、高稳定性、真免费且不限额的API服务,显著降低Token消耗与工程维护成本。其技术价值在于平衡响应速度、上下文一致性与部署简易性,适用于Obsidian知识增强、OpenCode编程辅助、网页自动翻译等典型场景。本文基于真实迁移实践,解析其与开源小模型及官网接口的关键差异,

chuanggangbo5551的博客 508

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

5分钟构建专业级社交媒体数据采集系统:MediaCrawler实战指南

在数据驱动的时代,社交媒体平台已成为获取市场洞察、分析用户行为和监测行业趋势的重要数据源。然而,面对复杂的反爬机制、频繁的接口变更和多样化的数据加密,传统爬虫技术往往力不从心。MediaCrawler应运而生,这是一个基于Playwright的现代化社交媒体数据采集框架,专为小红书、抖音、快手、B站、微博等主流平台设计,通过创新的"浏览器搭桥"技术,让你轻松突破平台限制,高效获取结构化数据。 #

gitblog_01021的博客 641

使用 Gatsby 本地插件(Local Plugins):在多种加载方式下组织站点插件

本篇文章基于 Gatsby 仓库中的 `using-multiple-local-plugins` 示例,系统讲解在 Gatsby 站点中加载**本地插件(Local Plugins)**的多种方式。你将学到:如何把插件放进站点自带的 `plugins` 目录、如何用 `require.resolve` 引用站点外部项目中的插件、如何借助 `npm link` / `yarn link` 以依赖方

gitblog_01171的博客 710

SWE-1:面向软件工程生命周期的嵌入式AI智能体系统

在AI编程工具泛滥的今天,‘AI工程师’正从代码补全走向工程化交付——它不再仅关注语法正确性,而是深度融入需求分析、契约建模、变更影响评估与可验证归档等真实软件工程环节。这类系统依托工程语义层(ESL)对API契约、约束注入、影响域分析和归档指纹进行结构化建模,通过隔离式架构保障可审计性与安全性,并以交付物为计量单位实现成本可控。其技术价值在于将模糊需求转化为P0/P1可追溯任务、将代码生成升维为多层工程决策(如Redis键设计、并发安全策略、可观测性注入),广泛适用于微服务重构、合规审计、团队PR评审增强

weixin_30493401的博客 418

Spring Boot 3.4.13 + JDK 17 迁移实战:从架构重置到生产就绪

Spring Boot 和 JDK 是 Java 企业级应用的核心运行时基础。Spring Boot 3.x 强制要求 JDK 17+,标志着从传统 Servlet 容器、Parallel GC 到 Jakarta EE 9 命名空间、ZGC 与模块化 JVM 的代际升级。其本质不仅是版本更新,更是字节码规范(Class File Format 61)、API 契约(javax → jakarta)和内存模型的全面对齐。技术价值体现在低延迟(ZGC P99 <10ms)、强安全(TLS 1.3 原生支持)与

weixin_30653023的博客 428

自主智能体重构遗产代码:安全边界与语义守恒实践

遗产代码重构是软件工程中高风险、低容错的核心挑战,其本质并非语法升级,而是对隐性契约、历史上下文与非功能属性的系统性守护。随着自主智能体(autonomous agent)介入代码现代化进程,传统基于规则的工具链已无法应对‘未知的未知’——如口耳相传的业务逻辑、注释中的求救信号、被遗忘的兼容性陷阱。本文聚焦于Java遗留系统向Spring Boot 3与JDK 17迁移的真实战场,深入解析如何通过上下文锚定层、差异护栏(Diff Guardrail)与人工闸门(Human-in-the-Loop Gate)

weixin_30258901的博客 441
上一篇: HTTP1.1 Notes 4, Request & Response & Entity
下一篇: HTTP1.1 Notes 7, Status Code Definitions
hidetobj
博客等级 码龄19年 16粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值