Go教程技术文章
-
用 Go 标准库 http.Flusher 实现分片响应刷新,说明能力判断、写入顺序、测试方式,以及包装器和代理缓冲的边界。161 收藏 -
用 Go 的 http.Pusher 接口断言和 Push 返回值判断 HTTP/2 服务端推送能力,并为 HTTP/1.1、客户端禁用推送和中间层降级保留普通响应路径。461 收藏 -
Go HTTP 处理器切换到原始连接时,应先检查 Hijacker 能力,再接收 net.Conn 与 bufio.ReadWriter,并明确接管后的期限、缓冲、Request.Body 和关闭责任。218 收藏 -
Go Server.ConnState 可统计连接当前状态,但不能替代请求并发数。通过连接状态表、互斥锁和快照示例,解释终态清理、HTTP/2 口径及采集请求对统计的影响。194 收藏 -
本文用 Go 标准库说明 Server.ConnContext 与 Request.Context 的关系,给出连接级信息注入、处理器读取、连接复用和请求取消的最小写法与边界。106 收藏 -
Golang · Go教程 | 2星期前 | Context · Go教程 · net/http · Go context.Context ErrHandlerTimeout http.TimeoutHandler HTTP 处理器超时
Go 标准库的 http.TimeoutHandler 可以为单个 HTTP 处理器设置时间边界,超时向客户端返回 503。本文说明最小包装方式、请求上下文取消、响应缓冲,以及它与 Server 超时配置和流式处理的边界。195 收藏 -
Golang · Go教程 | 2星期前 | HTTP · go · 服务端 · Go net/http http.MaxBytesReader http.MaxBytesError HTTP 413
Go 服务端限制请求体不能只看 Content-Length。本文用 http.MaxBytesReader 把上限放在读取入口,通过 errors.As 识别 *http.MaxBytesError,并将超限请求稳定转换为 413,同时说明分块请求、MaxBytesHandler 和提前拒绝的边界。251 收藏 -
用 Go 的 httptrace.ClientTrace 记录 DNS、连接、TLS、写请求和响应首字节时间,区分连接复用与新建连接,定位一次 HTTP 请求到底慢在哪个阶段。352 收藏 -
用 httputil.DumpRequestOut 导出 Go 客户端请求的脱敏元数据视图,隔离 URL、Header 和共享 Body,说明离线测试、敏感字段处理与真实传输的差异,全程无需读取业务响应。264 收藏 -
Go 的 CookieJar 通过 http.Client 管理跨请求会话状态。本文用标准库示例说明如何保存 Set-Cookie、按 URL 自动发送 Cookie,并处理域名、路径、并发和安全边界。403 收藏 -
Golang · Go教程 | 2星期前 | 并发 · go · 连接池 · net/http · HTTP客户端 · Go HTTP客户端 连接池 http.Transport Transport.Clone
Go 的 http.Transport.Clone 可以深拷贝导出配置字段,适合从一份基础 Transport 派生出连接池参数互不覆盖的客户端。本文区分配置快照、函数回调与运行时连接池,并给出可复用的隔离写法。402 收藏 -
Go ResponseController 统一刷新、读写期限等可选能力的调用入口。通过中间件 Unwrap、ErrNotSupported 分流和有限响应示例,说明接口边界、失败处理及改造前后的测量方法。372 收藏 -
Go 1.22+ 的 net/http.ServeMux 可以把 HTTP 方法、路径通配符和参数提取直接写进路由模式。本文用一个小型文章接口说明 GET/HEAD、PathValue、剩余路径、优先级与尾斜杠边界。341 收藏 -
区分 Go defer 普通参数的登记时求值与匿名闭包的延后读取,说明变量变化、资源清理和命名返回值修改应该如何设计。233 收藏 -
Go Modules 项目中的 go.sum 应与 go.mod 一起纳入版本控制。本文从校验记录、模块代理、私有依赖和 CI 只读构建四个角度,说明怎样生成、评审和提交 go.sum。160 收藏