session用起来的执行原理到底是怎么样的?
我完全看不出来session的作用,课程视频16:35时候虽然使用的是login_session,但还是要传入headers和data,这和不用session有什么区别吗?token已经在data里了,为什么还要用session呢?看了一节课,只看到了代码的步骤,但之中原理完全不明不白,这怎么吸收得了知识?
正在回答 回答被采纳积分+1
同学,你好。
1、当用户请求页面,一般需要先登录,用户第一次输入用户名和密码之后,前台发送post请求,后台获取用户信息,验证通过会开辟一块session空间来储存用户数据,并且同时生成一个cookie字符串,由后台返回给前台,前台接收后,会把这个cookie字符串储存到浏览器的cookie空间中,这个cookie就相当于一把钥匙,可以打开后台存储对应用户信息的锁,当用户下一次请求的时候,客户端便会自动携带这个cookie去请求服务器,服务器识别后,就会读取session中的用户信息,这样用户就可以直接访问,就不需要再输入用户名密码来验证身份了。
2、设置session可以实现登录状态保持,使用session会保存服务器返回的数据,包括cookies,这样在请求输入用户名密码请求登录时,就不必再去分析网页得到cookies,直接使用session。
3、header是设置的请求头,在请求页面时是需要携带的;data中是用户名,密码,token等数据,是登录需要的数据
4、当服务器向浏览器传送cookie的时候,很容易被劫持,并不是绝对的安全,在大型的项目中,服务器往往不只一台,如果第一次请求,用户信息被保存在了服务器1的session空间中,但是第二次请求被分流到了服务器2,这样就获取不到用户信息了,依然要重新登录,因此使用token会好一些。token只是以字符串的形式存在,不要服务器再开辟空间,并且相对更安全,
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
- 参与学习 人
- 提交作业 107 份
- 解答问题 1672 个
Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星