http

HTTP/3:看似无处不在,实则难觅踪影

tech

HTTP/3:看似无处不在,实则难觅踪影

HTTP/3 的研发至少可追溯至 2016 年,而其底层传输协议 QUIC 更是由 Google 在 2013 年率先提出。如今这两项技术均已确立国际标准:获得 95% 浏览器的支持,**Cloudflare 处理的 HTTP 请求中已有 32% 采用该协议**,并且在 HTTP Archive 数据集中,有 35% 的网站 宣称支持HTTP/3 (通过 alt-svc 或 DNS)。 我们不仅成功开发出全新一代 HTTP 协议,更已将超三分之一的网络流量迁移至该协议——这堪称里程碑式的进展。 然而矛盾的是,包括 Node.js、Go、Rust、Python 和 Ruby

By huizhou92

tech

Golang http 支持 NegotiateFormat

Go 标准库提案:更优雅的 HTTP 内容协商 背景 在 Web 开发中,HTTP 内容协商(Content Negotiation)是一项重要的机制,它允许客户端和服务器就响应内容的最佳格式达成一致。例如,手机端可能希望接收 JSON 格式的数据,Web端可能想要XML格式的数据,服务端可以在一个接口中提供多种数据格式。客户端通过 Accept 请求头表达自己的偏好,服务端根据这些偏好选择最合适的格式返回。 具体内容可以参考RFC9110 比如在下面的例子中,使用Gin框架自己实现的内容协商 。在一个API接口中返回了JSON和XML两种格式。 package main import ( "net/http" "github.com/gin-gonic/gin" ) type User struct { Name string `json:"

By huizhou92