时间:2021-07-01 10:21:17 帮助过:28人阅读
session 是什么?SessionID | UserID 1A6B78E7 | 195 B6SE3C66 | 0 (默认,未登陆状态) E135C338 | 131 (用户将账号密码验证码和SessionID发回服务器后,将UserID改为用户主键值)
服务器生成的一个 shit 值,甩给客户端,客户端拿着当金牌令箭,只要客户端有办法把这个金牌令箭告知服务器就好了。
在这样的情况下,你怎么传递这个金牌令箭,就看你的个人喜好了。
在这样的认知下,你应该知道,怎样使用 session 技术仅看你客户端和服务器沟通的方式,什么 get post shit 随你喜好了
所以说,学东西要多想想为什么、这样做的原因是什么?好处是什么?不这么做会怎样?有没有更好的设计方案?
特别是搞 web 的,不能连我这个没搞过 web 的人都不如。 可以,在每条url中都加上session字段,这种做法现在在很多老式WAP网站上依然能够见到,因为当时的具有WAP浏览器的手机因为内存小的可怜无法存储cookie。还有一种办法就是每个页面都加一个hidden隐藏域,value写上session,总之方法很多,灵活变通。 可以 ETag 已经是最要脸的追踪手段了好吗。。。
试试 authentication cookie我只是补充一下:我年轻的时候做一个中国移动的论坛项目,能直接从WAP网关拿到当前请求的手机号,用来当session key再好不过了。
总结一下:
1 cookie
2 请求的参数中带着(get、post)
3 HTML5的LocalStorage
4 网关 反写sessionId 可以。可以在url中传递sessionID。但是需要你在php.ini里面开启一个选项,就是允许在url中存在sessionID。 这是我今天学Servlet写的笔记, 刚好看见这个问题给你扒一点出来
刚接触Web开发不到四天
理解可能有偏差, 轻喷
(笔记中说的身份证是SessionID号)
第一: Session是什么?
第二: 浏览器禁用了Cookie的话, 怎么办?
session池是服务端存储用户(广义上的用户,可以是用户也可以是某个客户端非登录用户)的信息的集合,每个session都对应一个用户信息,cookie是客户端用来告知服务端,我是哪一个用户,那么既然cookie承担了这么一个功能,那么cookie的职责一旦被禁用,那么url也可以承担起同样的责任,url后面加
参数,或者http头加信息来回传,但是如果cookie的职责这么容易被替代的话,那他就不叫cookie了,如果说当次请求可以被替代,那么下一次比如你直接打开浏览器请求淘宝网的时候或者直接手输,不是使用cookie的话,其他的办法的话,客户端是不能拿出标志你身份的东西,从而服务端并不知道你是谁。如果说浏览器在请求一个手输的网址的时候,除了自动带上cookie,还会带其他小东西,那么这个小东西能替代cookie,关于这一点开下chrome,观察下network下面的http请求头即可,我并没有发现这样的小东西。就凭这一点cookie还是cookie.