HTTP
已收录文章:112篇
-
Go 用 json.Decoder 读取 HTTP 请求体时,第二次 Decode 得到 EOF 不一定是异常:它可能代表输入已正常读完,也可能是把单个 JSON 请求误当成了连续流。本文从单对象、尾随空白和多值 JSON 三种边界出发,给出最小判断、严格校验与可复查的读取流程。160 收藏
-
Go 的 io.TeeReader 会把每次读取到的字节同步写入另一个 Writer,适合做摘要、哈希和审计,但不等于后台复制。本文用请求体落盘场景拆开同步写入、写入错误传播、部分读取和失败清理边界,给出可验证的安全用法。289 收藏
-
Go 的 url.Values 既能表达同名重复参数,也能表达单值参数,但 Add、Set 和 Encode 的组合会直接影响服务端拿到的结果。本文用标签筛选接口说明参数如何构造、编码、解析和验收。386 收藏
-
Golang · Go教程 | 1个月前 | WEB开发 · 标准库 · HTTP · go · 路由迁移 Go ServeMux HTTP路由冲突 method pattern host pattern把旧版 Go HTTP 路由迁移到支持方法和主机模式的 ServeMux 时,最容易误判的是注册顺序。本文用冲突示例解释方法、路径、主机三种匹配关系,给出启动期检查、兼容写法和 httptest 回归边界,避免服务上线后才发现请求落到了错误处理器。437 收藏
-
列表接口从 page 改成 cursor 时,真正容易出问题的不是 SQL,而是参数语义、错误响应和旧客户端兼容。本文用 Go net/http 设计一个可灰度迁移的游标分页接口,给出返回结构、边界校验、错误码和回归检查。427 收藏
-
Java HttpClient 读取 NDJSON 时,先用 BodyHandlers.ofLines() 把响应转成逐行流,再在消费端做字段校验、数量上限和超时收尾。本文用订单事件流说明连接关闭、异常中断与消费速度不匹配时的处理边界。309 收藏
-
Go HTTP 中间件看起来只是函数嵌套,但鉴权、限流、日志和业务处理的顺序会直接影响安全性、指标口径与资源消耗。本文用一条订单接口链路说明中间件的组合方式、顺序取舍和可验证边界。382 收藏
-
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 服务突然出现 too many open files,先别急着把 ulimit 调大。更可靠的顺序是确认进程 FD 是否持续增长,区分网络连接、日志文件和管道,再用 /proc、lsof 与 Go pprof 找到没有关闭的资源,修复后复查增长曲线,必要时保留可回退的上限变更。255 收藏
-
Python 批量调用外部接口时,任务越多不一定越快。本文从订单补数任务的耗时基线出发,用 httpx 连接池、asyncio.Semaphore 和超时预算控制请求数量,并通过压测结果说明配置边界与排查方法。196 收藏