• Http学习(三)


    • HTTP的问题:
      • 通信使用明文,可能会遭到窃听:HTTP本身不具备加密功能,根据TCP/IP协议工作的线路上可能会遭到窃听,即使通信内容已经加密,也会被看到
        • 通信加密:通过SSL(Secure Socket Layer)或TLS建立安全通信线路
        • 内容加密:将发送的内容加密
      • 不验证通信双方身份:无法验证服务器和客户端身份,无法确认通信双方访问权限,无意义的请求也接受
        (DoS攻击:攻击端,发送完第一次握手的数据后,然后就“消失”了,那么服务器就会不断的发送第二次握手的数据,可是攻击端的人找不到了。于是,服务器的资源大量被消耗,直到死机为止。)
        • 查明对方的证书:SSL提供一种使用证书的手段,证书由值得信任的第三方机构发布
      • 无法证明报文的完整性:无法确认发出的内容和收到的内容一致
        • 使用MD5和SHA-1等散列值校验,需要用户亲自验证下载内容是否与原服务器一致
    • HTTPS:有SSL的外壳的HTTP
      • HTTPS = HTTP+加密+认证+完整性保护
      • 加密方式
        • 共享密钥:加密和解密使用相同的密钥,有丢失密钥的风险
        • 使用了两把密钥,公开密钥加密:一把叫做公开密钥(可以公开),一把是私有密钥,发送信息的一方使用对方公开密钥,接受信息的一方使用自己的私有密钥解密(根据公开密钥和密文解密异常困难),此方法比共享密钥复杂很多
        • HTTPS使用混合加密方式:使用公开密钥交换密钥,使用共享密钥解密
      • 使用证书证明密钥正确性:将公开密钥与证书绑定在一起,接收到的客户端,对证书上的数字签名进行验证。客户端也可以使用证书,但是需要付费
      • 使用SSl速度会变得很慢:
        • 消耗CPU等资源
        • 通信速度慢
    • 消除HTTP瓶颈:
      • 问题:如果服务器内容实时更新需要频繁从客户端到服务器进行确认
      • 原因:
        • 一条连接只能发送一个请求
        • 请求只能从客户端到服务器
        • 请求首部未压缩
      • 解决:在HTTP层和TCP层之间加入SPDY,已加入HTTP2.0
        • 多路复用
        • 请求赋予优先级
        • 压缩HTTP首部
        • 支持推送
    • 攻击:
      • XSS:例如在填写表单密码时,在代码中嵌入恶意js代码,当用户点击提交时,显示进入正常页面,但将密码发送到未知地方
      • SQL注入:
  • 相关阅读:
    学习笔记 四边形不等式的模型
    题解 AT2230【Water Distribution】
    题解 CF848C 【Goodbye Souvenir】
    第二届全国大学生算法设计与编程挑战赛(春季赛)正式赛题解&比赛回顾
    积性函数相关学习笔记
    【MySQL】数据库备份
    【SpringMVC】SSM的maven依赖
    【SpringMVC】Jackson解决乱码问题配置
    【SpringMVC】DispatcherServlet与中文过滤器配置
    【Spring】学习笔记008--AOP实现方式
  • 原文地址:https://www.cnblogs.com/NewDolphin/p/5391027.html
Copyright © 2020-2023  润新知