session 到底是什么鬼,一个纯静态的 web 站,有 session 嘛?
如果我有 2 个 web 的站,一个 php 的,一个是 django 的,他们之间能共享 session 嘛?
1
ihuotui 2016-04-25 15:47:59 +08:00
能共享,要自己实现。
|
2
zjdboy 2016-04-25 15:50:57 +08:00
看看 COOKIE 是什么鬼,,然后再想 COOKIE 和 SESSION 有啥区别
|
3
yao978318542 2016-04-25 16:06:38 +08:00
我身上有 100 块 然后在建设银行存着 然后你去了外地 你在外地的建设银行也能取! 明白了吗?
|
4
csdreamdong OP @yao978318542 其实。 session 的存在,必须依赖于 cookies 嘛?
|
5
juicy 2016-04-25 16:23:00 +08:00
@csdreamdong cookies 相当于存着身份证号,要不然银行不知道你要取的是哪个身份证下银行账号的钱
|
6
csdreamdong OP @juicy so..如果浏览器禁用 cookies 的话。。想普通网站的登录,登录后,随便点击一个连接,又相当于没登录的状态了?
|
7
Ouyangan 2016-04-25 16:30:49 +08:00
上 redis 可以共用
|
8
hcymk2 2016-04-25 16:30:58 +08:00
身份证号 可以放在不同载体上面
|
9
jugelizi 2016-04-25 16:31:17 +08:00
难道百度真的回答不了你的问题?
|
10
clino 2016-04-25 16:31:31 +08:00
|
11
csdreamdong OP @hcymk2 除了显示或者隐式的 post , get 身份证号。。那么每次的访问,服务器都永远不会知道我是谁咯??在禁用 cookies 的情况下。
|
12
csdreamdong OP @jugelizi 0 0.有点混乱,,我疑惑的地方,就是 session 。。是不是 http 或者 tcp 的一个特性。。?
|
13
hxsf 2016-04-25 16:37:33 +08:00 1
r#12 @csdreamdong http 是无状态的,但是浏览器想有状态,于是有了 cookies 和 session 。这是浏览器提供的功能,如果怕禁用 cookies ,就用类似的手法自己维持状态就行,比如 C/S 中 Token 的方式 (其实跟 cookies 和 seesion 一个道理)。
|
14
csdreamdong OP @hxsf ok..基本了解。
|
15
csdreamdong OP @hxsf 还有一个问题,访问一个页面, response 中的 set-cookies 是要由程序语言去实现的咯。。?
|
16
hxsf 2016-04-25 16:51:37 +08:00
r#15 @csdreamdong 一般来说 cookies 里的 sessionid 是 自动写进的 (有些要自己动手),其他的你想写进 cookies 的需要自己代码写
|
17
csdreamdong OP @hxsf 0 0.自动。。的话,是谁做的呢?总有个程序吧。。 apache 还是 nginx 这种 web 前端?
|
18
csdreamdong OP @hxsf 我是 python 。。写一个 wsgi 的 app 。。如果要处理 session ,那还是需要代码实现的咯。
php 的话,有 session 的机制,我意思 session 这种机智,是需要代码实现的,还是 web 前端( apache , nginx )来搞定的? |
19
yeyeye 2016-04-25 17:12:41 +08:00
没说一定要依赖 cookies 啊 可以依赖 url 啊
|
20
mlhorizon 2016-04-25 18:04:12 +08:00
大概可以理解为存在服务器上的全局变量吧,用来在页面间共享一些状态数据等。
|
21
just1 2016-04-25 18:31:11 +08:00 via Android
既然你用 python , tornado 就好了,干嘛搞自己不熟悉的 php
|
22
jame 2016-04-25 19:25:26 +08:00
现成的 Python 代码: https://github.com/dound/gae-sessions
|
23
shiji 2016-04-25 20:13:22 +08:00 via Android
session 储存在服务器上, cookie 储存在本机上。二者有些类似。
静态页面也可能使用 session (比如你用了 cnzz 谷歌统计)什么的,用于追踪用户行为。 |
24
lightening 2016-04-25 21:05:45 +08:00 1
HTTP 是无状态的。也就是说, HTTP 不保存诸如“用户是谁”,“用户进行到哪一步了”这种信息。
如果你需要保存这种信息,就要自己去实现。这就是 session 。 Cookie 是实现 session 的一种方式。由于服务器去记录每个客户的 session 开销比较大,于是就让客户端自己记录自己是谁、或者自己进行到哪一步了这种信息。然后服务器一般使用一个签名来确保 cookie 是自己发放的,没有被篡改。 这有点像一个学校的门卫,与其记住每个学生的脸来判断他是不是本校学生,不如给每个学生发一张学生证,凭证入场。 |
25
Ouyangan 2016-04-25 21:29:58 +08:00
推荐博主可以看<<深入分析 javaweb>>里面关于 session 和 cookie 的章节.
|
26
bikong0411 2016-04-25 21:31:34 +08:00 via iPhone
@yao978318542 哈哈哈
|
27
bikong0411 2016-04-25 21:32:26 +08:00 via iPhone
@csdreamdong 不一定必须要依赖 cookie ,只不过大多数情况下 session_id 在 cookie 里发送到服务端
|