如果是跨域请求,而且在请求头中添加了东西(token),那么每次请求服务器时都会有一个 options 请求(预检请求),这会影响服务器响应的速度。
我们可以通过在响应头中添加 Access-Control-Max-Age 来解决,它的作用是把 OPTIONS 响应缓存起来,在指定的时间内,不会再次发起 OPTIONS 预请求,这样只有在第一次请求的时候会有 OPTIONS ,之后浏览器会从缓存里读取响应,也就不会再发送OPTIONS请求了。
| 12
 3
 4
 
 | @app.after_requestdef addHeaders(response):
 response.headers['Access-Control-Max-Age'] = '2592000'
 return response
 
 | 
跨域用户身份认证方案
session
flask 的 session 机制是根据请求头中携带的 cookie 值创建对应的 session 对象。每有一个新的 cookie 值,就创建一个新的 session 对象,因此每个用户都对应一个 session 对象,不会混乱。
当在 flask 框架中编写前端代码时(同源),后台会携带带有 “Set-Cookie” 的响应头返回给浏览器,那么用户在请求时浏览器会自动携带带有 “Cookie” 的请求头给后台,”Set-Cookie” 和 “Cookie” 中保存的都是 session_id,后台会根据 session_id 找到对应的 session 对象。