《http权威指南》阅读笔记(九)
服务器要求客户端进行认证,可以通过401响应码,以及头部加上www-authenticate:Basic realm=”xxxx”
需要对client进行验证,有两种方式
基本认证和摘要认证,基本认证通过base64对user:password进行加密,然后发送给服务器,通过头部 Authentication: Basic 密文 发送给服务器,由服务器进行验证。这个是可逆的,可以通过密文知道用户的用户名和密码
摘要认证:采取生成消息摘要的方式对用户进行认证。一般采取md5,对user:password:请求头部:实体报文 进行摘要,不可逆,不能通过密文算出原文,安全性较高,但是一般可以通过截获请求 ,重新生成请求来进行恶意攻击,比如我截获了user:password生成的摘要,我用这个发送给服务器,还是可以通过认证的。所以有时候客户端和服务器还会约定一个随机数,客户端在请求服务器的时候,如果验证通过,服务器会发送下一次请求验证给出一个随机数,客户端使用把随机数也一起加入到请求报文进行消息摘要。这样就避免了截获报文。
以上两种方式都会存在监听情况
客户端和服务器端的请求会被监听
无法确认服务器是否是正确的通信服务器,可能导致请求截获而转发到欺骗的服务器
服务器没有办法确认客户端是否是正确的客户端,客户端的信息会被代理更改
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架