cookie的创建
http是无协议的,会没有记录
直接在服务器端设置cookie
package main
import "net/http"
func setCookie(w http.ResponseWriter, r *http.Request) {
//创建Cookie
cookie := http.Cookie{
Name: "user",
Value: "admin",
//这里是user=admin
HttpOnly: true,
}
//将cookie发给浏览器
w.Header().Set("Set-Cookie", cookie.String())
//看一下响应报文里的响应头
}
func main() {
http.HandleFunc("/setCookie", setCookie)
http.ListenAndServe(":9090", nil)
}
结果
加另一个cookie
package main
import "net/http"
func setCookie(w http.ResponseWriter, r *http.Request) {
//创建Cookie
cookie := http.Cookie{
Name: "user",
Value: "admin",
//这里是user=admin
HttpOnly: true,
}
//有个方法直接设置cookie
//直接调用http的setcookie函数
http.SetCookie(w, &cookie)
}
func main() {
http.HandleFunc("/setCookie", setCookie)
http.ListenAndServe(":9090", nil)
}
这是直接调用函数就行了
cookie的用途
广告推广
免登陆
session作用 在服务器端保存用户的一些数据,然后传给用户一个cookie
通过session获取到保存的用户信息的session 进而知道是哪个用户在发请求
session运行原理
第一次向服务器发送请求时创建session,给他设置一个全球唯一的ID