HTTP
已收录文章:46篇
-
Go 用 httptest 写 Handler 单测时,常见现象是状态码为 0、响应头没生效,或读到的响应体为空。关键是区分 ResponseRecorder 的记录时机、WriteHeader 的提交边界,以及 Result 必须在 Handler 返回后再读取。文中给出可复用的最小测试和复查清单。481 收藏
-
用 Go 标准库实现 HTTP 文件上传时,不能只调用 FormFile 就直接落盘。本文通过一个最小项目说明请求体大小限制、multipart 解析、文件关闭、受控命名和上传后检查的实现顺序。466 收藏
-
Golang · Go教程 | 2个月前 | golang · HTTP · go · 服务端 · http.server MaxBytesReader ReadHeaderTimeout Go HTTP 服务 请求体限制 响应头限制Go 的 http.Server 默认足够启动一个接口,却不会替业务限定大请求体、慢请求头和响应写入时间。本文用上传接口的真实边界,拆解 MaxBytesReader、ReadHeaderTimeout、WriteTimeout 与 MaxHeaderBytes 的职责,并给出可复查的生产配置。455 收藏
-
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 收藏
-
Golang · Go问答 | 2个月前 | golang · HTTP · Context · 并发编程 · context.Context context.WithTimeout Go HTTP 超时Go 服务调用 HTTP、数据库或 RPC 时,超时不能只靠客户端等待。本文用 context.WithTimeout 给请求链路加上可传播的截止时间,并说明 cancel、父子 Context、select 和错误判断的常见坑。397 收藏
-
Golang · Go教程 | 1个月前 | HTTP · 连接池 · Go教程 · 性能排查 · net/http · Go HTTP客户端 连接复用 Transport httptrace Response.BodyGo HTTP 客户端请求量上来后,如果 Response.Body 没有按路径读取并关闭,或每次请求都新建 Transport,连接池就很难稳定复用。本文从一个连接数异常的服务场景出发,用 httptrace 验收复用结果,并给出响应体、Transport 参数和回归检查的落地写法。397 收藏
-
回答 Go 接口跨域时 OPTIONS 预检请求为什么会返回 404,给出标准库 http 中间件的最小写法、带路由框架时的变体、常见响应头坑点和发布前检查清单。388 收藏
-
Go 的 url.Values 既能表达同名重复参数,也能表达单值参数,但 Add、Set 和 Encode 的组合会直接影响服务端拿到的结果。本文用标签筛选接口说明参数如何构造、编码、解析和验收。386 收藏
-
Go HTTP 中间件看起来只是函数嵌套,但鉴权、限流、日志和业务处理的顺序会直接影响安全性、指标口径与资源消耗。本文用一条订单接口链路说明中间件的组合方式、顺序取舍和可验证边界。382 收藏
-
Golang · Go教程 | 2个月前 | HTTP · 路由 · Go教程 · Go1.22 · ServeMux · HTTP路由 ServeMux Go教程 Go1.22 PathValue 路由迁移Go 1.22 的 net/http ServeMux 支持方法匹配和路径通配符。本文从旧的前缀路由迁移到 GET /posts/{id},讲清 PathValue 取参、405 行为、静态路由优先级与冲突模式的测试方法。377 收藏
-
Golang · Go教程 | 2个月前 | HTTP · Go教程 · 服务治理 · SIGTERM Go 优雅关闭 http.Server Shutdown Go HTTP 服务 连接收尾 服务下线Go HTTP 服务下线时,直接退出会打断进行中的请求;只调用 Shutdown 又可能无限等待。本文结合 net/http 官方行为说明信号接收、流量摘除、超时预算、长连接和依赖收尾应该怎样拆分。316 收藏