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

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

wojuzi的博客 2452

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万+

qemu(2) -- 定制开发板

向qemu源码中添加自定义开发板

xflm的博客 841

超文本传输协议版本 2

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

WuOu的专栏 3051

避坑指南:合宙Air780EG阿里云一型一密连接时,为什么你的HmacMD5加密总失败?

本文针对合宙Air780EG模组连接阿里云物联网平台时,HmacMD5签名失败的常见问题提供深度解决方案。详细剖析了签名拼接格式、密钥使用、随机数处理及编码大小写等关键陷阱,并结合STM32嵌入式开发环境,给出了串口调试、分步验证及AT指令链路的实用排错技巧,帮助开发者顺利完成一型一密动态注册。

kiwi8的博客 440

ST-LINK调试STM32H743必看:CubeMX工程中缺失的这行代码导致程序跑飞

本文深入剖析了使用ST-LINK调试STM32H743时,因CubeMX工程中缺失电源电压档位配置代码而导致程序跑飞或出现“Can not access memory”错误的问题。文章解释了H7系列电源与时钟耦合的核心原理,提供了具体的代码修复方案和系统化的调试排查思路,帮助开发者从根本上解决这一常见调试困境。

weixin_29191669的博客 280

nginx(一)--基本配置

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

xiaochenwj1995的博客 1047

全网最详细的 Ubuntu 18.04 安装Livox mid-360驱动,测试 fast_lio2

Livox mid-360需要使用Livox-SDK2,而非Livox-SDK,以及对应的。并需要修改FAST_LIO中部分代码。Faster—LIO;Faster-LIO:快速激光IMU里程计。Faster-LIO:快速激光IMU里程计PDF。大部分Lidar SLAM都是基于loam进行改造的,基本上是通过线特征edge和面特征(面点)分割进行配准得到里程计的,而fast-lio2是通过一个迭代扩展卡尔曼滤波器去优化帧内位姿,然后通过输入点云与地图进行配准得到里程计,精度和鲁棒性都不错。

努力努力努力 6234

SAP PI 开发常见问题

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

m0_38069169的博客 2736

SAR合成孔径雷达成像及处理(附带Matlab源代码)

总结:本文介绍了SAR合成孔径雷达的基本原理,并提供了使用Matlab实现SAR成像和处理的源代码示例。然后,在慢时间域进行方位压缩处理,通过计算每个接收通道的延迟和频移,将多次接收的信号叠加得到最终的成像结果。SAR成像的基本原理是通过接收雷达发射的脉冲信号的回波,并利用多次接收的信号进行叠加处理。以多普勒频移校正为例,根据雷达飞行速度和方位角,计算实际的多普勒频率,并对每个接收通道的数据进行频移校正,以消除因目标运动引起的频率偏移。通过调整参数和算法,可以实现不同的SAR成像和处理效果。

ByteJolt的博客 688

基于PCL、Open3d、Easy3d 、VTK等常见开源库的QT开发

PCL+QT开发

阁楼 2万+

全面了解 Nginx

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

HelloGitHub 的博客 768

共享单车数据抓取与分析:使用Python爬虫抓取共享单车使用数据与地图信息

通过本篇博客,我们展示了如何使用Python爬虫抓取共享单车的使用数据和地图信息,并通过简单的数据分析得出有价值的见解。在实际应用中,数据的收集与分析不仅能帮助城市管理者更好地规划单车站点,还能为用户提供更精准的单车使用体验。未来,我们可以将此分析与机器学习模型相结合,进一步预测单车的使用趋势,优化调度算法,实现更加智能的共享单车管理。

2201_76125261的博客 2204

nginx入门

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

weixin_39858697的博客 589

ssm框架搭建

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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

weixin_34335458的博客 627

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

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

chuanggangbo5551的博客 508

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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、付费专栏及课程。

余额充值