Go语言技术文章
-
一个 Go REST API 如果让每个接口自由拼错误 JSON,客户端很快就会遇到无法判断、重复提示和误重试。本文用统一错误信封、稳定错误码和请求追踪字段,整理一套可兼容旧客户端的设计方式。427 收藏 -
Golang · Go教程 | 2个月前 | golang · HTTP · 安全 · Go教程 · net/http · net/http 请求超时 MaxBytesReader Go HTTP 请求体限制 内存防护
Go HTTP 服务接收上传、Webhook 或 JSON 请求时,单靠 ReadAll 很容易被异常大请求拖高内存。本文从请求体上限、读取超时、状态码和日志字段四个边界入手,给出一套可复查的 net/http 防护实现。173 收藏 -
Golang · Go问答 | 2个月前 | golang · HTTP · Context · 并发编程 · context.Context context.WithTimeout Go HTTP 超时
Go 服务调用 HTTP、数据库或 RPC 时,超时不能只靠客户端等待。本文用 context.WithTimeout 给请求链路加上可传播的截止时间,并说明 cancel、父子 Context、select 和错误判断的常见坑。397 收藏 -
Golang · Go问答 | 2个月前 | golang · 超时 · HTTP · Go问答 · 网络排查 · 连接超时 http.Transport Client.Timeout Go HTTP 客户端超时 TLS握手超时
Go 的 http.Client 超时太粗时,DNS、建立连接、TLS 握手和响应读取会混在同一个等待里。本文用一段可复现的慢请求场景拆开 Transport 参数,给出基线指标、改动方案和复测边界。112 收藏 -
给 Go HTTP 服务加一层轻量请求 ID 中间件:优先复用客户端 ID,没有可靠值时生成新 ID,再把它传入 context、响应头和 log/slog 日志,最后用 httptest 验收整条链路。405 收藏 -
用一个小型 Go 日志筛选器说明如何同时支持文件参数和标准输入,处理参数优先级、逐行读取、字段校验、错误退出码以及管道联调。403 收藏 -
Webhook 只校验 HMAC 还不够:攻击者可以把合法请求原样重发。本文用时间戳、Nonce、HMAC-SHA256 和一次性记录,完成一套可复查的 Go 签名校验流程。144 收藏