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的胖子