HTTP
已收录文章:37篇
-
Golang · Go问答 | 1个月前 | HTTP · Cookie · 浏览器 · cors · Go问答 · SameSite · cookie cors Secure SameSite Go问答 Set-Cookie 跨站请求 credentialsGo 接口已经返回 Set-Cookie,但浏览器下一次请求不带 Cookie,通常要同时检查 SameSite、Secure、Domain、Path、CORS 和前端 credentials。246 收藏
-
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 收藏
-
Golang · Go教程 | 1个月前 | HTTP · 文件上传 · Go教程 · 资源预算 · multipart · 文件上传 临时文件 ParseMultipartForm multipart Go教程 MaxBytesReader 资源预算本文用 Go 标准库实现一个更稳的文件上传接口:先限制请求体大小,再控制内存预算和临时文件,最后补上错误提示、超时和清理检查。237 收藏
-
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 收藏
-
Python 批量调用外部接口时,任务越多不一定越快。本文从订单补数任务的耗时基线出发,用 httpx 连接池、asyncio.Semaphore 和超时预算控制请求数量,并通过压测结果说明配置边界与排查方法。196 收藏
-
用运行手册方式讲解 Go HTTP 服务优雅停机:识别 SIGTERM、停止接流量、等待正在处理的请求、设置超时退出,并给出回滚路径、告警确认和复盘清单。176 收藏
-
Golang · Go教程 | 2星期前 | golang · HTTP · 安全 · Go教程 · net/http · 接口防护 · net/http 请求超时 MaxBytesReader Go HTTP 请求体限制 内存防护Go HTTP 服务接收上传、Webhook 或 JSON 请求时,单靠 ReadAll 很容易被异常大请求拖高内存。本文从请求体上限、读取超时、状态码和日志字段四个边界入手,给出一套可复查的 net/http 防护实现。173 收藏
-
Golang · Go问答 | 1个月前 | HTTP · net/http · Go问答 · 流式响应 · ResponseController · net/http FLUSH 流式响应 Go问答 ResponseController FullDuplex 写超时用问答方式解释 Go net/http ResponseController 的定位、Flush、写入 deadline、FullDuplex 支持边界、兼容兜底和生产使用注意事项。161 收藏
-
Golang · Go问答 | 1天前 | HTTP · 流式处理 · Go问答 · encoding/json · 请求体 · Go DECODE eof 流式解析 json.Decoder JSON请求体Go 用 json.Decoder 读取 HTTP 请求体时,第二次 Decode 得到 EOF 不一定是异常:它可能代表输入已正常读完,也可能是把单个 JSON 请求误当成了连续流。本文从单对象、尾随空白和多值 JSON 三种边界出发,给出最小判断、严格校验与可复查的读取流程。160 收藏
-
Golang · Go问答 | 1个月前 | goroutine · HTTP · Context · 超时控制 · Go问答 · WithTimeout Go问答 context取消 QueryContext HTTP请求取消 goroutine退出Go HTTP 请求断开后,r.Context() 会收到取消信号,但服务端慢任务不会凭空停止。只有把 context 继续传给数据库、下游 HTTP 调用、消息消费和 goroutine,取消与超时才会真正变成资源释放动作。120 收藏
-
Go 服务出现 too many open files 时,先不要只把 ulimit 调大。更可靠的处理顺序是确认 FD 是否持续增长、按类型定位 HTTP 响应体/文件/SQL Rows 的释放缺口、在小流量修复后观察 FD 回落,再决定是否需要调整进程限额。文章给出可直接照着做的线上判断、代码修复、回退和告警检查。115 收藏
-
Golang · Go问答 | 2星期前 | golang · 超时 · HTTP · Go问答 · Transport · 网络排查 · 连接超时 http.Transport Client.Timeout Go HTTP 客户端超时 TLS握手超时Go 的 http.Client 超时太粗时,DNS、建立连接、TLS 握手和响应读取会混在同一个等待里。本文用一段可复现的慢请求场景拆开 Transport 参数,给出基线指标、改动方案和复测边界。112 收藏