• 强制缓存和协商缓存的区别是什么?对称、非对称加密的区别是什么?


    在 HTTP 的使用中,我们经常会遇到两种缓存:强制缓存和协商缓存

    强制缓存

    请求过一次不需要再次发送请求的缓存模式,在 HTTP 协议中称为强制缓存
    当一个文件被强制缓存后,下一次请求会直接使用本地版本,而不会真的发出去;使用强制缓存时要注意,千万别把需要动态更新的数据强制缓存。一个负面例子就是小明把获取用户信息数据的接口设置为强制缓存,导致用户更新了自己的信息后,一直要等到强制缓存失效才能看到这次更新

    协商缓存

    第一次获取接口数据,会将数据缓存到本地,并存储下数据的摘要;
    第二次请求时,浏览器检查到本地有缓存,将摘要发送给服务端。服务端会检查服务端数据的摘要和浏览器发送来的是否一致;如果不一致,说明服务端数据发生了更新,服务端会回传全部数据;如果一致,说明数据没有更新,服务端不需要回传数据。

    和强制缓存相比,协商缓存的代价是需要多发一次请求。

    对称加密

    双方加密解密都用相同密钥的算法,我们称为对称加密算法
    在实际的操作过程当中,因为都是针对二进制的操作,取补操作可以用异或操作来替代;另外,在其中的某些步骤还可以拿数据和密钥进行位计算,具体不同加密算法实现不同。
    数据加密标准(DES)
    高级加密标准(AES)
    使用对称加密双方都知道密钥和算法,会造成很多问题:如果你是一个网站提供服务给用户,你和用户之间如果使用对称加密,那么你需要为每个用户定时生成一个不同的密钥。这是因为,如果所有用户都用一个密钥,那么理论上一个用户就可以看到其他用户和网站之间的通信

    非对称加密

    为了进一步提升安全系数,数学家还提出了非对称加密。在非对称加密中,加密和解密用的不是一个密钥
    在非对称加密中,密钥通常由提供服务的一方创建。每次创建是一对公私钥对,然后提供者将公钥给用户,自己保留私钥

    常见非对称加密算法
    目前最常见且广泛使用的非对称加密算法是 RSA 算法。RSA 依赖的是大整数的分解,以及一些和素数相关的算法。目前没有理论可以破译 RSA 算法。总体来说,RSA 密钥越长破解成本就越高,因此仍然被广泛使用。其他的非对称加密算法还有 DSS、EIGamal 等。

    所以对称、非对称加密的区别是
    对称加密和解密可以用同一套密钥。非对称加密利用数学的方法生成公私钥对,公钥加密的数据私钥可以解密,私钥加密的数据公钥可以解密。但是公钥不能解密公钥加密的数据,私钥也不能解密私钥加密的数据。

  • 相关阅读:
    【C# 编程笔记】 1 基本窗口应用
    TCP三次握手及其相关问题
    day07域
    【数据结构】二叉树的基本概念
    Vivado详细使用教程 | LED闪烁示例
    软件测试04:软件测试流程和软件测试过程
    Vue和综合案例
    Saas型网站域名如何接入腾讯云的web应用防火墙?
    java网络编程
    IOS使用WebView内嵌H5页面,使用a标签点击跳转无效问题解决
  • 原文地址:https://blog.csdn.net/qq_41780297/article/details/126561901