美文网首页
《图解HTTP》读书笔记(3)

《图解HTTP》读书笔记(3)

作者: Mcyboy007 | 来源:发表于2017-03-27 11:22 被阅读0次

    记录方式:

    主要根据目录记录主要的知识点,HTTP相关知识点书中写的很容易理解,建议阅读《图解HTTP》

    Part7 确保web安全的HTTPS

    • HTTP的缺点
      1)通信使用明文(不加密),内容可能会被窃听
      防止窃听保护信息的对策,最常用的就是加密:
      ①通信加密:
      HTTP协议中没有加密机制,可以通过和SSL或TLS的组合使用,加密HTTP的通信内容(即HTTPS)
      ②内容加密
      将报文主体加密,客户端和服务端都具备加密和解密机制。但是仍然存在被窃听的风险

    2)不验证通信方的身份,有可能遭遇伪装
    SSL不仅提供加密处理,而且还使用了证书的手段用于确定对方。证书由值得信任的第三方机构颁发,用于证明客户端和服务器是实际存在的。

    3)无法证明报文的完整性,有可能已遭篡改
    有使用HTTP协议确定报文完整性的方法,但并不可靠、便捷。常用的是MD5和SHA-1等散列值校验的方法,已经用来确认文件的数字签名方法。

    • HTTP+加密+认证+完整性保护=HTTPS
      1)什么是HTTPS
      HTTP并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TLS协议代替。通常,HTTP直接和TCP通信;使用SSL时,变成先和SSL通信,再由SSL和TCP通信。

    2)加密通信的基本概念和流程
    参考

    Part8 确认访问用户身份的认证

    • SSL客户端认证(绝大部分使用的方式)
      1)SSL客户端认证是借由HTTPS的客户端证书完成认证的方式

    2)步骤:
    ①接收到需要认证资源的请求,服务器发送Certificate Request报文,要求客户端提供客户端证书
    ②客户端以Client Certificate发送证书报文
    ③服务器验证客户端证书,通过后领取证书内的公钥,开始HTTPS加密通信

    3)SSL客户端采用双因素认证
    SSL客户端认证会依靠证书(需要付费)和基于表单认证组合形成一种双因素认证。下面主要介绍基于表单认证的方式,一般会使用Cookie来管理Session。步骤:
    ①客户端把用户ID和密码等登录信息放入报文的实体部分,通常以POST方法发送请求。这时,使用HTTPS通信来进行HTML表单画面的显示和用户输入数据的发送
    ②服务器发放用以识别用户的Session ID,客户端发来的登录信息验证成功后,服务器会把用户的认证状态与Session ID绑定后记录在服务端。向客户端返回响应时,会在首部字段Set-Cookie内写入Session ID
    ③客户端接收到服务器发来的Session ID后,会将其作为Cookie保存在本地,用于下次通信的验证。

    备注:常用的保存方式是,先利用给密码加盐的方式增加额外信息,再使用散列函数计算出散列值保存。

    Part9 基于HTTP的功能追加协议

    • 消除HTTP瓶颈的SPDY(暂略)

    • 使用浏览器进行全双工通信的websocket

    相关文章

      网友评论

          本文标题:《图解HTTP》读书笔记(3)

          本文链接:https://www.haomeiwen.com/subject/tegxottx.html