net/http
已收录文章:25篇
-
Go HTTP 客户端变慢时,只看总耗时无法判断卡在 DNS、建连、TLS 还是服务端响应。本文用 httptrace.ClientTrace 采集分段时间,结合连接复用标记和最小复查清单,定位一次请求变慢的真正环节。393 收藏
-
Golang · Go教程 | 2个月前 | golang · sse · Go教程 · net/http · 接口设计 · HTTP Go SSE FLUSH 流式响应 ResponseControllerGo 的流式响应不是把多次 Write 拼起来就结束了。本文从 http.ResponseController.Flush 入手,做一个可验证的 SSE 示例,解释缓冲何时真正送达、HTTP/2 与代理会带来什么差异,以及客户端断开后如何让 goroutine 和 ticker 及时收口。463 收藏
-
Go HTTP 客户端第一次请求失败后直接重用同一个 Request,第二次可能只剩空请求体。问题不在重试次数,而在 Body 已经被消费;用 Request.GetBody 构造可重放副本,配合 Request.Clone 处理上下文和 Header,才能把重试边界写清。273 收藏
-
Go 的 http.Client 遇到 301、302 或 307 时,不会无条件把原请求头复制到新地址。本文从一次鉴权失效现场出发,验证 CheckRedirect、Authorization、Cookie 和跨主机跳转的行为,并给出安全可控的处理方式。268 收藏
-
Golang · Go问答 | 2个月前 | go · 文件上传 · 安全 · net/http · 接口设计 · multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。275 收藏
-
Go 服务返回静态 JSON 或文章详情时,ETag 可以让浏览器先带 If-None-Match 询问资源是否变化,未变化就返回 304,减少响应体传输。本文用 net/http 写一个可运行的缓存协商示例,说明哈希生成、条件判断、响应头顺序和测试边界。395 收藏
-
Golang · Go教程 | 2个月前 | golang · HTTP · 安全 · Go教程 · net/http · net/http 请求超时 MaxBytesReader Go HTTP 请求体限制 内存防护Go HTTP 服务接收上传、Webhook 或 JSON 请求时,单靠 ReadAll 很容易被异常大请求拖高内存。本文从请求体上限、读取超时、状态码和日志字段四个边界入手,给出一套可复查的 net/http 防护实现。173 收藏
-
Golang · Go问答 | 2个月前 | 性能排查 · net/http · HTTP客户端 · Go问答 · 连接复用 keep-alive http.Transport Response.Body Go HTTP ClientGo 服务的请求量并不高,客户端却不断新建 TCP 连接时,先看 Response.Body 是否在所有分支读到 EOF 并关闭。Go 官方文档说明,Body 未同时读完和关闭时,底层 Transport 可能无法复用持久连接。本文从一次连接数异常的现场出发,给出定位、修复和边界判断。241 收藏
-
Golang · Go问答 | 2个月前 | HTTP · net/http · Go问答 · Go WriteHeader ResponseWriter HTTP 状态码 superfluous response.WriteHeaderGo 服务日志出现 superfluous response.WriteHeader,通常不是框架故障,而是同一个请求路径已经写出最终状态码,后续分支又继续写了一次。文章用一个订单创建接口复现问题,解释 Write 与 WriteHeader 的先后边界,并给出 return 收口、响应助手分层和 httptest 回归检查的最小修复方案。258 收藏
-
Golang · Go教程 | 2个月前 | 跨域 · cors · Go教程 · net/http · 跨域 Access-Control-Allow-Origin 预检请求 Options Go教程 Go CORSGo 接口被浏览器拦跨域时,不是简单加一个星号就完事。本文从浏览器 CORS 预检请求讲起,用 net/http 写一个可控的跨域中间件,说明 Origin 白名单、OPTIONS 响应、请求头放行和安全注意点。275 收藏
-
Golang · Go问答 | 2个月前 | HTTP · net/http · Go问答 · 流式响应 · net/http FLUSH 流式响应 Go问答 ResponseController FullDuplex 写超时用问答方式解释 Go net/http ResponseController 的定位、Flush、写入 deadline、FullDuplex 支持边界、兼容兜底和生产使用注意事项。161 收藏
-
Golang · Go教程 | 3个月前 | web安全 · Go教程 · 后端工程 · Golang实战 · net/http · golang 安全 Go net/http HTTP服务 csrf Go1.25 CrossOriginProtection从后台接口 CSRF 风险出发,讲清 Go 1.25 net/http CrossOriginProtection 的判断逻辑、可信 Origin、拒绝日志、绕过白名单风险、预发测试和上线检查。183 收藏