HTTP 知识点
1、HTTP 协议的特点
简单快速、灵活、无连接、无状态
2、常见状态码
1xx --指示信息 请求已接收
2XX - 成功 请求正常已处理 200 : 请求成功 206:对资源某一部分的请求
3XX 重定向 需要进行附加操作 304:和重定向没什么关系,直接使用客户端未过期的缓存
4XX 客户端错误 请求无法实现
5XX 服务端错误 服务器处理错误
3、缓存方案及其实现
4、HTTPS 与 HTTP 的区别 HTTP+加密+认证+完整性保护 = HTTPS
HTTP 主要的不足:
通信使用明文、不验证通信方的身份、无法证明报文的完整性(篡改)
加密分为:通信加密 和 内容的加密
HTTPS 通信接口部分用SSL 和 TLS 协议代替而已--- SSL是独立于HTTP得协议,运行在应用层的SMTP 也可以用--
共享密匙:加密和解密都会用到密匙,而加密解密使用相同的密匙 (但发送密匙就有被窃听的风险)
公开密匙:发送方 用对方的公开密匙进行加密,对方收到加密的信息后,再使用自己的私有密匙进行解密。(这样就不担心密匙被窃听! 但是处理速度比较慢)
HTTPS 使用 共享密匙和公开密匙的混合加密机制:
使用公开密匙 交换稍后的共享密匙 要用的密匙
共享密匙来建立通信
但是,无法判别公开密匙本身就是货真价实的公开密匙,如果传输过程中被劫持,无法验证发送的身份---
可以使用第三方机构和其相关机关颁发的公开密匙证书,服务器人员向数字认证机构提出公开密匙的申请,机构然后判明身份后,会对公开密匙做数字签名,然后分配这个包括公开密匙的公开证书。
服务器将公开钥匙的证书发送给客户端,客户端对数字签名进行认证。 (此处如何将认证机关的公开密匙安全发送给客户端又是一个问题 ···笑---) 因此一般数证书认证机构的公开密匙已经事先植入到浏览器中了-
在这个流程中,应用层发送数据会附加一种叫做MAC 的报文摘要,MAC能够插值报文是否遭到篡改--
总结:
(1) 所有信息都是加密传播,黑客无法窃听。
(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。
(3) 配备身份证书,防止身份被冒充。