Http协议(图解Http学习笔记三)(Http安全)

图解http是一本挺好的协议入门书籍,主要讲http协议,在这里记录一下学习总结

(因为在看书的时候记得文字笔记,所以底下会有许多图片,字丑别嫌弃)

 

 

Http的缺点:

1.通信使用明文  2.不验证通信双方的身份   3.无法验证报文的完整性,可能会被篡改报文

 

加密分类:

1.通信的加密    2.报文内容的加密

Https=Http+加密+认证+完整性保护=Http+SSL/TLS

Https比Http慢:一个原因是通信慢,一个原因是运算处理费时

(SSL是使用最广泛的网络安全技术)

SSL:Secure Sockets Layer 安全套接层

 

加密手段:

1.共享密钥加密:加密解密用同一个密钥

2.公开密钥加密:用两把密钥

私钥保留,公钥发布,加密时我方用对方公钥加密,解密时对方用自己的私钥解密

 

两种密钥的特点:共享密钥速度快,公开密钥速度慢,通常混合使用:

先公开密钥加密交换共享密钥,之后用共享密钥加密

 

公钥也不安全,会被伪造怎么办:

3.由数字认证机构颁发公钥证书(这个是真正的安全,除非认证机构的私钥泄露)

服务器公钥申请给认证机构做认证:

认证机构用自己的私钥对申请的服务器公钥进行数字签名,并将数字签名和服务器公钥绑定生成公钥证书颁布给服务器使用,认证机构的公钥植入浏览器(每个浏览器在安装完成后都内部植入了认证机构的公钥),通过认证机构的公钥解密可以证实服务器公钥的真实性

 

EV SSL证书:证书的一种,可以证明服务器的身份,可以证明该服务器背后的企业的真实性

(浏览器访问使用该类证书的网站,地址栏呈现绿色)

 

 

以上说的都是服务器证书,

还有一种客户端证书:同样的原理,客户端公钥申请给认证机构生成客户端公钥证书

这种是收费的,你有N个用户就要支付给认证机构        N*每个公钥的费用

Bank一般会搞这个,我们用的U盾存私钥,公钥证书在Bank里

 

还有一种自认证证书,自己给自己的公钥做认证,没什么安全性

 

 

认证:认证客户端身份

1.BASIC认证,DIGEST认证

(在访问需要认证的资源时会跳一个弹窗让你填用户名和密码,用户名和密码拼接后Base64加密放入请求首部字段Authorization)

2.SSL客户端认证

就是客户端公钥证书验证,通常会配合表单认证(银行采用)

3.表单认证

Web页面的一个登录页面,你填写用户名,密码就登录认证成功

Cookie保存登录状态,用加盐和散列函数保存密码(防止明文密码泄露)

(平时几乎全都是表单认证)

 

 

Http协议性能瓶颈:

1.一次http连接只进行一次http请求

2.每次请求由客户端发起,服务器无法给客户端推送请求

3.每次都要发送冗长的首部

4.首部未经过压缩

5.主体并非强制要求压缩编码

 

解决:

Ajax:局部更新页面内容

Comet:服务器接到请求挂起,有更新的内容才响应

SPDY:从协议层面改善△

WebSocket协议:全双工通信,基于http,建立WebSocket连接,连接之后服务器可以给客户端推送消息,可以减少通信量

Http2:为了解决1.1版本利用率不高的问题,提出了HTTP/2.0版本。增加双工模式,即不仅客户端能够同时发送多个请求,服务端也能同时处理多个请求,解决了队头堵塞的问题(HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级);HTTP请求和响应中,状态行和请求/响应头都是些信息字段,并没有真正的数据,因此在2.0版本中将所有的信息字段建立一张表,为表中的每个字段建立索引,客户端和服务端共同使用这个表,他们之间就以索引号来表示信息字段,这样就避免了1.0旧版本的重复繁琐的字段,并以压缩的方式传输,提高利用率。

        另外也增加服务器推送的功能,即不经请求服务端主动向客户端发送数据。

当前主流的协议版本还是HTTP/1.1版本。

 

WebDAV:基于万维网的的分布式创作和版本控制

是一种客户端直接对服务器上的文件资源进行管理操作的系统

(我也不知道这是个啥东西)

 

常见安全攻击手段:

  1. 跨站脚本攻击XXS
  2. SQL注入攻击
  3. OS命令注入攻击
  4. HTTP首部注入攻击
  5. 邮件首部注入攻击
  6. 目录遍历攻击
  7. 远程文件漏洞
  8. 程序设计缺引发的安全漏洞
  9. 因会话疏忽引发的安全漏洞
  10. 密码破译
  11. 点击劫持
  12. Dos和DDoS
  13. 后门程序

(这里具体很多我都不知道是个啥,大家想研究网络安全还是自行百度和看书学习吧)

 

___________________________分割线_________________________________

 

Http协议(图解Http学习笔记一)(基本概念)

Http协议(图解Http学习笔记二)(首部字段)

Http协议(图解Http学习笔记三)(Http安全)

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值