go http portal 笔记
func (ctl *loginController) Static(c *gin.Context) { uri := c.Param("uri") -------------if fileExists(path.Join(config.GetAppCfg().ResourcePath, uri)) { crcnumcookie := http.Cookie{Name: "crcnum", Value: crcnumStr, Path: "/"} timecookie := http.Cookie{Name: "time", Value: timeStr, Path: "/"} hostidcookie := http.Cookie{Name: "hostSessionId", Value: hostidStr, Path: "/"} c.Writer.Header().Set("Set-Cookie", fmt.Sprintf("%s=%s; Path=%s", crcnumcookie.Name, crcnumcookie.Value, crcnumcookie.Path)) c.Writer.Header().Add("Set-Cookie", fmt.Sprintf("%s=%s; Path=%s", timecookie.Name, timecookie.Value, timecookie.Path)) c.Writer.Header().Add("Set-Cookie", fmt.Sprintf("%s=%s; Path=%s", hostidcookie.Name, hostidcookie.Value, hostidcookie.Path)) //http.SetCookie(c.Writer, &cookie) c.Writer.Header().Set("Cache-Control", "no-store") // 设置Expires响应头为1小时 c.Header("Expires", time.Now().Add(time.Hour).Format(http.TimeFormat)) c.HTML(http.StatusOK, uri, gin.H{}) }
---------
}
处理请求时将设置Expires响应头为当前时间加上1小时。使用time.Format函数将时间格式化为HTTP时间格式(RFC 1123)字符串,以便可以正确地传递到HTTP客户端。
Expires: Fri, 12 May 2023 04:32:46 GMT Last-Modified: Fri, 12 May 2023 03:32:46 GMT
请注意,HTTP Expires响应头是在HTTP/1.0中引入的,而在HTTP/1.1中已经被弃用。现在,建议使用Cache-Control响应头来控制缓存行为。
如果你使用的是HTTP/1.1,你应该使用类似以下代码来设置Cache-Control响应头:
func YourHandler(c *gin.Context) { // 设置Cache-Control响应头为1小时 c.Header("Cache-Control", "max-age=3600") // ... }
http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!!
但行好事 莫问前程
--身高体重180的胖子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-05-12 工具小用法 dropwatch ss perf
2019-05-12 linux nf_conntrack 连接跟踪机制 3-hook
2019-05-12 linux nf_conntrack 连接跟踪机制 2