Http基本认证

觉得很形象的比喻:https://zhuanlan.zhihu.com/p/64584734

一、HTTP基本认证

HTTP基本认证是在RFC2616中定义的一种认证模式,优点是使用简单、没有复杂页面交互

1、HTTP基本认证有4个步骤:

1)客户端发起一条没有携带认证信息的请求
2)服务器返回一条401 Unauthorized响应,并在WWW-Authentication首部说明认证形式,当进 行HTTP基本认证时,WWW-Authentication会被设置为Basic realm=“被保护页面”
3)客户端收到401 Unauthorized 响应后,弹出对话框,询问用户名和密码。当用户完成后,客 户端将用户名和密码使用冒号拼接并编码为Base64形式,然后放入请求的Authorization首部发送给服务器。
4)服务器解码得到客户端发来的用户名和密码,并在验证它们是正确的之后,返回客户端请求 的报文。
在这里插入图片描述

HTTP基本认证是一种无状态的认证方式,与表单认证相比,HTTP基本认证是一种基 于HTTP层面的认证方式,无法携带session,即无法实现Remember-me功能。另外,用户名和密码在传 递时仅做一次简单的Base64编码,几乎等同于明文传输,极易出现密码被窃听和重放攻击等安全性问 题,在实际系统开发中很少使用这种方式来进行安全验证。如果有必要,也应使用加密的传输层(例如HTTPS)来保障安全。

二、HTTP摘要认证

HTTP摘要认证和HTTP基本认证一样,也是在RFC2616中定义的认证模式
与 HTTP 基本认证相比,HTTP 摘要认证使用通信双方都可知的口令进行校验,且最终的传输数据并非明文形式
HTTP 摘要基本认证意在解决 HTTP 基本认证存在的大部分严 重漏洞,但不应将其认为是Web安全的最终解决方案。

1、认识http摘要认证

在未经验证的请求发起时,服务器会首先返回一个401应答,并携带相关的参数,期待客户端依据这些参数继续做出回应,以完成整个验证过程

HTTP摘要认证的回应与HTTP基本认证相比要复杂得多,HTTP摘要认证中涉及的一些 参数:
在这里插入图片描述
通常服务器携带的数据包括realm、opaque、nonce、qop等字段,如果客户端需要做出验证回应,就必须按照一定的算法计算得到一些新的数据 并一起返回

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值