http与https

http的缺点:

  • 通信使用明文(不加密),内容可能会被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装
  • 无法证明报文的完整性,所以有可能已遭篡改

用 SSL建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。
HTTP+ 加密 + 认证 + 完整性保护=HTTPS,简言之,所谓 HTTPS,其实就是身披SSL协议这层外壳的 HTTP。

加密方式:

  • 加密和解密同用一个密钥的方式称为共享密钥加密,也被叫做对称加密
  • 公开密钥加密使用一对非对称的密钥。一把叫做私有密钥,另一把叫做公开密钥。顾名思义,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。

HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。

公开密钥加密方式还是存在一些问题的,那就是无法证明公开密钥本身就是货真价实的公开密钥。为了解决上述问题,可以使用由数字证书认证机构和其相关机关颁发的公开密钥证书。
https非对称加密.png
首先服务器把经过认证机构的公开密钥发送给客户端,客户端对接收到的密钥进行验证,接着使用该密钥把对称加密的密钥加密后发送给服务器,接下来的通信过程都使用对称加密进行。

cookie和session

转载 cookie和session

HTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。

Cookie 主要用于以下三个方面:

  • 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
  • 个性化设置(如用户自定义设置、主题等)
  • 浏览器行为跟踪(如跟踪分析用户行为等)

Session 代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当客户端关闭会话,或者 Session 超时失效时会话结束。

http状态码含义

状态码

数据库死锁

数据库死锁解决
https://www.cnblogs.com/wezheng/p/8366029.html

spring的aop是什么?如何实现的

aop

面向对象的设计原则

设计原则

实例变量可以是GC root 吗

什么是被 GC Roots 直接引用的对象
GC Roots 是什么

Mybatis # 和 $ 的区别

Mybatis中#{}与${}的区别

Q.E.D.