背景:由于http是无状态的,但是又想记录状态就出现了这三个,并统称为登录验证
cookie:
1.本质上是保存在终端某个本地文件夹内
2.不能跨域,cookie是跟随域名的,一个域名对应一个cookie详见:https://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
3.cookie是key,value形式的
image.png
这一个服务发送cookie,浏览器收到set_cookie命令后会再这次请求以后的每次请求中都带上对应的cookie内容
from flask import Flask, make_response, request
app = Flask(name)
@app.route("/", methods=["GET"])
def index():
response = make_response("Here, take some cookie!")
response.set_cookie(key="id", value="3db4adj3d", path="/about/")
return response
服务接收cookie:
@app.route('/getcookie')
def getcookie():
name = request.cookies.get('userID')
return '<h1>welcome ' + name + '</h1>'
cookie:信息存在浏览器,由每次发起请求时浏览器带给服务器
后来由于信息放浏览器实在太不安全了,服务端说不行,应该放在我我服务端,于是就有了token
再后来,服务端说,用户越来越多,我服务端要存的信息太多了,信息还是放在你浏览器里把,但是你加密一下,我服务端只存一把密钥,每次把加密后的信息发过来我 用密钥一解,就知道对应的信息了,这样我就不用存所有的信息,也比较安全了!