cookie、session、常见鉴权方式:token、HTTP、tcp、socket

http协议:简单、快捷、无连接、无状态。多在请求之间是没有关联的,独立的。
淘宝:登录,搜索商品,下订单,支付,评论,既然请求之间是没有关联,所以就要通过cookie建立会话

前后端常见的鉴权方式

1.HTTP Basic Authentication
2.session-cookie
3.Token验证
4.Oauth(开放鉴权)

一、Cookies

  • 什么是cookie
    cookie是在服务器产生的存储在客户端的一小段文本信息,格式是字段,键值对
  • cookie的分类
    会话级:保存内存,当浏览器关闭就丢失
    持久化:保存硬盘,只有当失效时间到了,才会被清除。
  • cookies如何实现鉴权(原理)
    当客户端第一次访问服务器时,那么服务器就会产生cookie,然后通过响应头的方式在set-cookies传输到客户端。客户端从弟2-N次请求都会自动的带上这些cookie
  • 致命的弱点
    cookie保存在客户端,对于一些敏感信息,用户名,密码,身份证不安全

二、Session

当用户第一次访问服务器的时候,然后在服务器保存一个sessionid,这个sessionid是经过加密,然后通过cookie把这个sessionid保存到客户端,然后请求服务器的时候只发送sessionid

  • 致命的弱点

解决了cookie不安全的问题,但是当用户量特别大的时候导致服务器奔溃

  • 解决问题

请求IP捆绑、session复制,单点登录

session是保存在内存里面,token可以保存在数据库里面/文件

三、token

当一个用户登录之后,就给它发送一个token令牌,下一次用户再次请求的时候,只需要带上这个令牌,token可以转获取的。
加密:RSA
对称加密:MD5 数字签名

  • token分类
    assess_token:有时间限制,限制在15分钟
    refresh_token:一般15天
面试题:cookie、session、token的相同点和区别?

相同点:都是用户鉴权的,都是服务器产生的

区别:

1.cookie存储客服端,session存储在服务器,session的安全性比cookie高,所以一般情况下把重要的信息放在session,把不重要的放cookie

2.session存在服务器内存,token存在服务器的文件或者数据库中,token的好处比session更节省服务器资源,token只需要在服务器解密即可

cookie、session、常见鉴权方式:token、HTTP、tcp、socket_第1张图片
cookie、session、常见鉴权方式:token、HTTP、tcp、socket_第2张图片

cookie、session、常见鉴权方式:token、HTTP、tcp、socket_第3张图片

cookie、session、常见鉴权方式:token、HTTP、tcp、socket_第4张图片

TCP、HTTP、SOCKET之间的关系

ip协议对应于网络层、TCP协议对应于传输层、而HTTP协议对应于应用层

socket则是对TCP/IP协议的封装和应用(程序员层面上)

TCP/IP协议是传输层协议,主要解决数据如何在网络中传输

而HTTP是应用层协议,主要解决如何包装数据

实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口api。通过Socket,我们才能使用TCP/IP协议

实际上Socket跟TCP/IP没有必然的关系

实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口api。通过Socket,我们才能使用TCP/IP协议

实际上Socket跟TCP/IP没有必然的关系

TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口

你可能感兴趣的:(python,python)