net/http
已收录文章:19篇
-
Golang · Go问答 | 4天前 | net/http · Go问答 · 接口安全 · 版本迁移 · ServeMux · net/http 通配符 路由冲突 ServeMux Go 1.22 PathValueGo 1.22 改造了 net/http.ServeMux 的模式语法和优先级,旧项目迁移时最容易踩到方法覆盖、通配符冲突和大括号语义变化。本文用最小代码验证匹配规则、冲突触发条件和上线前的兼容检查。490 收藏
-
Golang · Go教程 | 2星期前 | golang · sse · Go教程 · net/http · 接口设计 · HTTP Go SSE FLUSH 流式响应 ResponseControllerGo 的流式响应不是把多次 Write 拼起来就结束了。本文从 http.ResponseController.Flush 入手,做一个可验证的 SSE 示例,解释缓冲何时真正送达、HTTP/2 与代理会带来什么差异,以及客户端断开后如何让 goroutine 和 ticker 及时收口。463 收藏
-
Golang · Go问答 | 2星期前 | 中间件 · go · 认证 · 安全 · net/http · net/http 认证中间件 Go问答 BasicAuth WWW-AuthenticateGo 的 BasicAuth 适合内部管理端、健康检查或临时保护,但 Request.BasicAuth 只负责解析,不替你决定空密码、认证失败状态码和日志内容。本文从一个标准库中间件出发,补齐 401、WWW-Authenticate、凭据校验、权限边界和测试核对。451 收藏
-
Golang · Go教程 | 2天前 | HTTP · 连接池 · Go教程 · 性能排查 · net/http · Go HTTP客户端 连接复用 Transport httptrace Response.BodyGo HTTP 客户端请求量上来后,如果 Response.Body 没有按路径读取并关闭,或每次请求都新建 Transport,连接池就很难稳定复用。本文从一个连接数异常的服务场景出发,用 httptrace 验收复用结果,并给出响应体、Transport 参数和回归检查的落地写法。397 收藏
-
Golang · Go教程 | 3星期前 | go · 性能 · net/http · HTTP缓存 · Go ETag If-None-Match 304缓存 http.ResponseWriterGo 服务返回静态 JSON 或文章详情时,ETag 可以让浏览器先带 If-None-Match 询问资源是否变化,未变化就返回 304,减少响应体传输。本文用 net/http 写一个可运行的缓存协商示例,说明哈希生成、条件判断、响应头顺序和测试边界。395 收藏
-
Golang · Go教程 | 2星期前 | WEB开发 · go · net/http · 表单 · html/template · net/http URL参数 html/template 安全输出 Go教程 查询表单服务端渲染的列表页并不只是读一个 q 参数:筛选条件要能回填,空结果要有明确状态,用户输入也不能直接拼进 HTML。本文用 Go net/http、url.Values 和 html/template 做一个可运行的筛选表单,并整理参数边界与安全输出检查。394 收藏
-
Golang · Go问答 | 2星期前 | go · 性能排查 · net/http · HTTP客户端 · httptrace · DNS tls 连接复用 httptrace Go问答 HTTP请求慢Go HTTP 客户端变慢时,只看总耗时无法判断卡在 DNS、建连、TLS 还是服务端响应。本文用 httptrace.ClientTrace 采集分段时间,结合连接复用标记和最小复查清单,定位一次请求变慢的真正环节。393 收藏
-
Golang · Go教程 | 1个月前 | 跨域 · cors · options · Go教程 · net/http · 跨域 Access-Control-Allow-Origin 预检请求 Options Go教程 Go CORSGo 接口被浏览器拦跨域时,不是简单加一个星号就完事。本文从浏览器 CORS 预检请求讲起,用 net/http 写一个可控的跨域中间件,说明 Origin 白名单、OPTIONS 响应、请求头放行和安全注意点。275 收藏
-
Golang · Go问答 | 3星期前 | go · 文件上传 · 安全 · net/http · 接口设计 · multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。275 收藏
-
Golang · Go教程 | 3天前 | HTTP · go · 网络安全 · net/http · SSRF · 安全边界 · SSRF net/http net/url Go教程 netip 出站请求 内网地址Go 服务如果允许按参数访问远端 URL,真正的风险不只在字符串校验:DNS 解析后的地址、IPv4-mapped IPv6、重定向目标和代理配置都可能改变出站边界。本文用 net/url、netip 和 net/http 写一套可复查的 SSRF 防护骨架,并说明哪些判断必须在连接前和每次重定向时重复。275 收藏
-
Golang · Go问答 | 2星期前 | net/http · Go问答 · HTTP重试 · 请求体 · 接口稳定性 · net/http Go HTTP重试 Request.GetBody Request.Clone 请求体复用Go HTTP 客户端第一次请求失败后直接重用同一个 Request,第二次可能只剩空请求体。问题不在重试次数,而在 Body 已经被消费;用 Request.GetBody 构造可重放副本,配合 Request.Clone 处理上下文和 Header,才能把重试边界写清。273 收藏
-
Golang · Go问答 | 2星期前 | go · 安全 · net/http · HTTP重定向 · 请求头 · 请求头 Authorization 安全边界 CheckRedirect Go HTTP重定向Go 的 http.Client 遇到 301、302 或 307 时,不会无条件把原请求头复制到新地址。本文从一次鉴权失效现场出发,验证 CheckRedirect、Authorization、Cookie 和跨主机跳转的行为,并给出安全可控的处理方式。268 收藏