《图解HTTP》笔记2
1.SSL(Secure Socket Layer,安全套接层)
1)SSL的作用
- 通信加密
- 确定通信方
- SSL 提供认证和加密处理及摘要功能
HTTP 协议中没有加密机制,但可以通过和 SSL(Secure Socket Layer,安全套接层)或
TLS(Transport Layer Security,安全层传输协议)的组合使用,加密 HTTP 的通信内容。
用 SSL 建立安全通信线路之后,就可以在这条线路上进行 HTTP通信了。与 SSL 组合使用的 HTTP 被称为 HTTPS(HTTPSecure,超文本传输安全协议)或 HTTP over SSL。
虽然使用 HTTP 协议无法确定通信方,但如果使用 SSL 则可以。SSL 不仅提供加密处理,而且还使用了一种被称为证书的手段,可用于确定方。
证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。另外,伪造证书从技术角度来说是异常困难的一件事。所以只要能够确认通信方(服务器或客户端)持有的证书,即可判断通信方的真实意图。
注:值得信赖的第三方是指普遍已获得社会认可的企业或组织机构。
2)SSL 采用一种叫做公开密钥加密(Public-key cryptography)的加密处理方式。
2.HTTPS
我们把添加了加密及认证机制的 HTTP 称为 HTTPS(HTTP Secure)。
3.加密
1)共享密钥加密
加密和解密同用一个密钥的方式称为共享密钥加密(Common keycrypto system),也被叫做对称密钥加密。
2)公开密钥加密
公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做公开密钥(public key)。顾名思义,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。
HTTPS 采用混合加密机制
HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。若密钥能够实现安全交换,那么有可能会考虑仅使用公开密钥加密来通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。
公开密钥加密处理起来比共享加密方式更为复杂,因此若在通信时使用公开密钥加密方式,效率就很低
HTTPS 也存在一些问题,那就是当使用 SSL 时,它的处理速度会变慢。
SSL 的慢分两种。一种是指通信慢。另一种是指由于大量消耗CPU 及内存等资源,导致处理速度变慢。
4.为什么不一直使用 HTTPS
- 加密通信会消耗更多CPU及内存资源
- 使用的证书必须向认证机构购买
5.Ajax
Ajax 的核心技术是名为 XMLHttpRequest 的 API,通过 JavaScript 脚本
语言的调用就能和服务器进行 HTTP 通信。借由这种手段,就能从已
加载完毕的 Web 页面上发起请求,只更新局部页面。