網站首頁 編程語言 正文
在 HTTP 的使用中,我們經常會遇到兩種緩存:強制緩存和協商緩存
強制緩存
請求過一次不需要再次發送請求的緩存模式,在 HTTP 協議中稱為強制緩存
當一個文件被強制緩存后,下一次請求會直接使用本地版本,而不會真的發出去;使用強制緩存時要注意,千萬別把需要動態更新的數據強制緩存。一個負面例子就是小明把獲取用戶信息數據的接口設置為強制緩存,導致用戶更新了自己的信息后,一直要等到強制緩存失效才能看到這次更新
協商緩存
第一次獲取接口數據,會將數據緩存到本地,并存儲下數據的摘要;
第二次請求時,瀏覽器檢查到本地有緩存,將摘要發送給服務端。服務端會檢查服務端數據的摘要和瀏覽器發送來的是否一致;如果不一致,說明服務端數據發生了更新,服務端會回傳全部數據;如果一致,說明數據沒有更新,服務端不需要回傳數據。
和強制緩存相比,協商緩存的代價是需要多發一次請求。
對稱加密
雙方加密解密都用相同密鑰的算法,我們稱為對稱加密算法
在實際的操作過程當中,因為都是針對二進制的操作,取補操作可以用異或操作來替代;另外,在其中的某些步驟還可以拿數據和密鑰進行位計算,具體不同加密算法實現不同。
數據加密標準(DES)
高級加密標準(AES)
使用對稱加密雙方都知道密鑰和算法,會造成很多問題:如果你是一個網站提供服務給用戶,你和用戶之間如果使用對稱加密,那么你需要為每個用戶定時生成一個不同的密鑰。這是因為,如果所有用戶都用一個密鑰,那么理論上一個用戶就可以看到其他用戶和網站之間的通信
非對稱加密
為了進一步提升安全系數,數學家還提出了非對稱加密。在非對稱加密中,加密和解密用的不是一個密鑰
在非對稱加密中,密鑰通常由提供服務的一方創建。每次創建是一對公私鑰對,然后提供者將公鑰給用戶,自己保留私鑰
常見非對稱加密算法
目前最常見且廣泛使用的非對稱加密算法是 RSA 算法。RSA 依賴的是大整數的分解,以及一些和素數相關的算法。目前沒有理論可以破譯 RSA 算法。總體來說,RSA 密鑰越長破解成本就越高,因此仍然被廣泛使用。其他的非對稱加密算法還有 DSS、EIGamal 等。
所以對稱、非對稱加密的區別是
對稱加密和解密可以用同一套密鑰。非對稱加密利用數學的方法生成公私鑰對,公鑰加密的數據私鑰可以解密,私鑰加密的數據公鑰可以解密。但是公鑰不能解密公鑰加密的數據,私鑰也不能解密私鑰加密的數據。
原文鏈接:https://blog.csdn.net/qq_41780297/article/details/126561901
相關推薦
- 2023-03-02 ijkPlayer播放器的全自動編譯腳本及最終編譯包_Android
- 2022-05-26 Flutter?GridView顯示隨機單詞效果_Android
- 2022-11-05 Android實現折線圖小工具_Android
- 2022-06-17 Android性能優化之圖片大小,尺寸壓縮綜合解決方案_Android
- 2022-06-12 QT?.pro文件使用解析_C 語言
- 2023-04-06 C語言如何實現循環輸入_C 語言
- 2023-03-27 詳解C++11中的類型推斷_C 語言
- 2022-12-26 React開發進階redux?saga使用原理詳解_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支