HTTP
已收录文章:98篇
-
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问答 · httptest · ResponseRecorder · 单元测试 HTTP响应 httptest Go问答 ResponseRecorder Handler测试Go 用 httptest 写 Handler 单测时,常见现象是状态码为 0、响应头没生效,或读到的响应体为空。关键是区分 ResponseRecorder 的记录时机、WriteHeader 的提交边界,以及 Result 必须在 Handler 返回后再读取。文中给出可复用的最小测试和复查清单。481 收藏
-
Go 服务出现 too many open files 时,先不要只把 ulimit 调大。更可靠的处理顺序是确认 FD 是否持续增长、按类型定位 HTTP 响应体/文件/SQL Rows 的释放缺口、在小流量修复后观察 FD 回落,再决定是否需要调整进程限额。文章给出可直接照着做的线上判断、代码修复、回退和告警检查。115 收藏
-
Golang · Go问答 | 3星期前 | HTTP · ResponseWriter · net/http · Go问答 · 后端排错 · Go WriteHeader ResponseWriter HTTP 状态码 superfluous response.WriteHeaderGo 服务日志出现 superfluous response.WriteHeader,通常不是框架故障,而是同一个请求路径已经写出最终状态码,后续分支又继续写了一次。文章用一个订单创建接口复现问题,解释 Write 与 WriteHeader 的先后边界,并给出 return 收口、响应助手分层和 httptest 回归检查的最小修复方案。258 收藏
-
从一个大租户挤占接口容量的场景出发,讲清 Go 服务如何按全局、租户和路由拆分限流边界,单实例如何用 x/time/rate 落地,以及多实例为什么需要共享预算。294 收藏
-
Golang · Go教程 | 3星期前 | HTTP · Go教程 · 服务治理 · Shutdown · SIGTERM · SIGTERM Go 优雅关闭 http.Server Shutdown Go HTTP 服务 连接收尾 服务下线Go HTTP 服务下线时,直接退出会打断进行中的请求;只调用 Shutdown 又可能无限等待。本文结合 net/http 官方行为说明信号接收、流量摘除、超时预算、长连接和依赖收尾应该怎样拆分。316 收藏
-
用 Go 标准库实现 HTTP 文件上传时,不能只调用 FormFile 就直接落盘。本文通过一个最小项目说明请求体大小限制、multipart 解析、文件关闭、受控命名和上传后检查的实现顺序。466 收藏
-
Golang · Go教程 | 3星期前 | 并发 · HTTP · 性能优化 · 故障排查 · Go教程 · Go Goroutine 连接复用 pprof http.Client close Response.BodyGo 服务里调用 http.Client 后,Response.Body 没有在所有路径关闭,连接会被持续占用,pprof 里常能看到 net/http 相关 goroutine 增长。用 defer resp.Body.Close()、完整处理响应体、复用 Client,并通过压测与连接指标复查,可以把这类问题收住。201 收藏
-
Golang · Go问答 | 4星期前 | goroutine · HTTP · Context · 超时控制 · Go问答 · WithTimeout Go问答 context取消 QueryContext HTTP请求取消 goroutine退出Go HTTP 请求断开后,r.Context() 会收到取消信号,但服务端慢任务不会凭空停止。只有把 context 继续传给数据库、下游 HTTP 调用、消息消费和 goroutine,取消与超时才会真正变成资源释放动作。120 收藏
-
Golang · Go教程 | 4星期前 | HTTP · 文件下载 · Go教程 · Range请求 · ServeContent · 断点续传 Content-Range Go教程 HTTP Range ServeContent 206 Partial Content 视频拖动用 Go 的 http.ServeContent 实现支持 Range 的文件响应,覆盖 206 片段返回、416 越界、Accept-Ranges、浏览器拖动和普通 200 兜底。250 收藏
-
文章 · php教程 | 4星期前 | 日志 · HTTP · 超时控制 · php教程 · 接口监控 · 请求超时 stream_context_create PHP教程 PHP HTTP请求 接口探测器用 PHP 写一个小型 HTTP 探测器,重点不是只把远程接口请求通,而是给连接设置超时、拿到状态码、记录耗时和错误信息,并让接口返回可验收的 JSON。文章用原生 stream_context_create 串起入口接口、请求函数、日志文件和验收清单,适合放进定时任务或后台健康检查。289 收藏
-
Golang · Go教程 | 1个月前 | HTTP · Go教程 · 问题排查 · io.ReadAll · JSON绑定 · Go教程 Go HTTP请求体 io.ReadAll Request Body JSON绑定Go HTTP 请求体本质上是一个流,读取一次后游标就到末尾。中间件或日志里先用 io.ReadAll 读过 body,后面的 JSON 绑定就可能拿到空内容。排查时看读取顺序、Content-Length 和绑定错误,修复时缓存字节并用 io.NopCloser 重新赋回 r.Body。244 收藏