Go语言技术文章
-
Go 的 CookieJar 通过 http.Client 管理跨请求会话状态。本文用标准库示例说明如何保存 Set-Cookie、按 URL 自动发送 Cookie,并处理域名、路径、并发和安全边界。403 收藏 -
Golang · Go教程 | 10小时前 | 并发 · go · 连接池 · net/http · HTTP客户端 · Go HTTP客户端 连接池 http.Transport Transport.Clone
Go 的 http.Transport.Clone 可以深拷贝导出配置字段,适合从一份基础 Transport 派生出连接池参数互不覆盖的客户端。本文区分配置快照、函数回调与运行时连接池,并给出可复用的隔离写法。402 收藏 -
Go ResponseController 统一刷新、读写期限等可选能力的调用入口。通过中间件 Unwrap、ErrNotSupported 分流和有限响应示例,说明接口边界、失败处理及改造前后的测量方法。372 收藏 -
Go 1.22+ 的 net/http.ServeMux 可以把 HTTP 方法、路径通配符和参数提取直接写进路由模式。本文用一个小型文章接口说明 GET/HEAD、PathValue、剩余路径、优先级与尾斜杠边界。341 收藏 -
Go CookieJar 跨子域会话异常应区分拒收与目标筛选,结合表驱动测试检查 Domain、Path 和 Secure,并明确 SameSite 的浏览器边界。314 收藏 -
区分 Go defer 普通参数的登记时求值与匿名闭包的延后读取,说明变量变化、资源清理和命名返回值修改应该如何设计。233 收藏 -
Go 解包符号链接越界不能只靠路径字符串检查。本文说明链接拒绝策略、私有输出目录与 os.Root 写入边界,并提供仅接受目录和普通文件的 tar 示例。363 收藏 -
Go TLS 证书不匹配时,先确认客户端是否通过 ServerName 发送了 SNI,再查看服务端按 ClientHelloInfo.ServerName 选择了哪条证书链,最后区分 SAN、信任链和中间证书问题。本文给出一套只围绕握手日志与证书选择的定位方法。387 收藏 -
Go 标准库没有统一的跨平台文件锁 API。本文比较 Unix flock 与 Windows LockFileEx 的竞争、清理语义,再给出原子占位、数据库和 Redis 等替代策略。354 收藏 -
Go exec.Cmd 同时读取 stdout 和 stderr 时,单路读取或提前 Wait 容易造成阻塞。本文解释 StdoutPipe、StderrPipe 与 Wait 的边界,并给出简单收集和并发分流两种处理方式。305 收藏 -
Go 服务收不到 SIGTERM 时,先核对目标 PID,再比较容器入口是否把信号留在 shell,最后用 NotifyContext 把信号接入服务生命周期。本文只围绕 PID、容器入口和 Go 接收代码给出排查与选择方案。409 收藏 -
Go 子进程的 Cmd.Env 为 nil 时默认继承父环境,显式切片会替换环境。本文比较继承与覆盖,说明 Dir、环境快照和输出管道的取舍,并提供自启动探针。237 收藏 -
Go 解析 YAML 配置时,普通值字段会把缺失、显式空值和合法零值揉成一个结果。本文用指针字段、默认值阶段与校验顺序拆开这三种状态,避免默认值覆盖用户明确传入的空值。156 收藏 -
同一个 JSON 字段承载多种对象时,先用公共字段确定类型,再用 json.RawMessage 延迟解析 payload。本文给出 Go 中按 kind 选择具体结构的写法,并区分缺少判别字段、未知类型与载荷格式错误。447 收藏 -
Golang · Go问答 | 1天前 | net/http · HTTP客户端 · Go问答 · Transport gzip Content-Encoding Go 自动解压 Response Body
Go 的默认 Transport 可能已经把 gzip 响应解压到 Response.Body,并删除 Content-Encoding。读取内容为空时,应先区分自动解压、显式请求 gzip 和 Body 被重复读取这三条路径,再选择直接读取或手动创建 gzip.Reader。365 收藏