Go
发布时间:2022-04-09 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang web编程:简单的会话(使用sessions包),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
网站不能根据来访的ip来确定
来访者的身份,ip加端口号也不行.一般都是通过
用户名密码来确定
用户身份的,但
用户也不能每次访问网页时都手动输入一次
用户名和密码啊,这样太累了.
一个最简单的想法就是让浏览器帮我们输入,但是
http协议本身没有夹带
用户名密码的
功能,而且有时我们的需求又不只是
用户名和密码这么简单,比如说我们还想在浏览器和网页服务器之间传递
用户的id,上次访问网站的时间等,每个网站的要求都不一样,所谓众口难调.
现在的做法是,浏览器允许网页服务器在浏览器里存一小段数据,什么数据都行,你自己的格式自己去解析就好了.具体的做法是,浏览器第一次访问服务器时,服务器应答中就会包含需要浏览器请求的数据,浏览器收到服务器的应答,并把数据保存起来.当浏览器再次访问服务器时,浏览器就在请求里包含这段数据.由于这段数据不是我们的主要业务,
只不过是我们进行主业务时的一点小插曲,故称这段数据为cookie,是甜甜圈,小点心,以区别于正餐.
下面我们以一段
代码来表示这个过程,为简化,我们只要求保存
用户名,整个过程就是:
1.浏览器访问网页,服务器返回请求并要求浏览器保存
一个用户名.(这个
用户名一般是更早阶段要求
用户填写
一个form传给服务器的.
2. 浏览器保存这个
用户名.
3.浏览器再次访问这个网页,并带上这个
用户名.
4.浏览器知道是这个
用户访问的,就打印一句
Hello.
代码在测试的时候要访问两次浏览器,第一次浏览器上没有
显示,第二次会
显示Hello.
代码如下:
www.usr.cc
01
02
03
04
05
@H_489_33@
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
@H_607_70@
2
import
(
3
"github.com/gorilla/sessions"
5
"io"
@H_
489_33@
6
)
7
8
var store
=
sessions.NewCookieStore
(
[]byte
(
"something-very-secret"
)
)
9
10
func pageHandler
(
w http.ResponseWriter
,
r
*
http.request
)
{
11
session
,
_
:
=
store.Get
(
r
,
"get_name_session"
)
12
name
,
ok
:
=
session.Values[
"name"
].
(
String
)
13
session.Values[
"name"
]
=
"Dean"
14
session.Save
(
r
,
w
)
17
}
18
}
19
20
21
func
@H_537_73
@main
(
)
{
22
http.HandleFunc
(
"/"
,
pageHandler
)
23
}
扩展阅读
大佬总结
以上是大佬教程为你收集整理的golang web编程:简单的会话(使用sessions包)全部内容,希望文章能够帮你解决golang web编程:简单的会话(使用sessions包)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。