`
yangmeng_3331
  • 浏览: 88319 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

HTTP协议(二):基本认证

阅读更多
本文转自:http://www.cnblogs.com/TankXiao/archive/2012/09/26/2695955.html
http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别。 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何身份识别呢?
什么是HTTP基本认证
桌面应用程序也通过HTTP协议跟Web服务器交互, 桌面应用程序一般不会使用cookie, 而是把 "用户名+冒号+密码"用BASE64算法加密后的字符串放在http request 中的header Authorization中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)
当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码,如下图

假如用户名密码错误的话, 服务器会返回401 如下图

HTTP基本认证的过程
第一步:  客户端发送http request 给服务器,
第二步:  因为request中没有包含Authorization header,  服务器会返回一个401 Unauthozied 给客户端,并且在Response 的 header "WWW-Authenticate" 中添加信息。

第三步:客户端把用户名和密码用BASE64加密后,放在Authorization header中发送给服务器, 认证成功。
第四步:服务器将Authorization header中的用户名密码取出,进行验证, 如果验证通过,将根据请求,发送资源给客户端

使用Fiddler Inspectors 下的Auth 选项卡,可以很方便的看到用户名和密码:

HTTP基本认证的优点
HTTP基本认证,简单明了。Rest API 就是经常使用基本认证的
每次都要进行认证
http协议是无状态的, 同一个客户端对 服务器的每个请求都要求认证
HTTP基本认证和HTTPS
把 "用户名+冒号+密码" 用BASE64加密后的string虽然用肉眼看不出来, 但用程序很容易解密,上图可以看到Fiddler就直接给解密了。 所以这样的http request 在网络上,如果用HTTP传输是很不安全的。 一般都是会用HTTPS传输, HTTPS是加密的, 所以比较安全.
HTTP OAuth认证
OAuth 对于Http来说,就是放在Authorization header中的不是用户名密码, 而是一个token.
微软的Skydrive 就是使用这样的方式, 如下图

其他认证
除了基本认证(Basic Authentication), 还有摘要认证 digest authentication, WSSE(WS-Security)认证
客户端的使用
客户端如果要跟“使用基本认证的网站”交互。 非常很简单,把用户名密码 加在Authorization header中就可以了。
C#
string url = "https://testsite";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
NetworkCredential nc = new NetworkCredential("username", "password");
req.Credentials = nc;

Linux下的curl
curl -u username:password https://testsite/
分享到:
评论

相关推荐

    毕业设计:python WEB 服务统一身份认证协议设计与实现(源码 + 数据库 + 说明文档)

    毕业设计:python WEB 服务统一身份认证协议设计与实现(源码 + 数据库 + 说明文档) 第2章 系统分析 9 2.1可行性分析 9 2.1.1技术可行性 9 2.1.2操作可行性 9 2.1.3经济可行性 9 2.2设计的基本思想 9 2.3基础功能...

    Modern Cryptography : Theory and Practice

    第十二章:认证协议:实践篇 第十三章:公钥密码的认证框架 第十四章:公钥密码体制的形式化强安全性定义 第十五章:可证明安全的有效公钥密码体制 第十六章:强可证明安全的数字签名方案 第十七章:分析认证协议的...

    Web应用安全:WVS简介基本配置.pptx

    WVS简介- 基本配置 4 WVS扫描演示 3 WVS的基本配置 2 WVS的安装 1 WVS简介 目录 ...WVS(Web Vulnerability Scanner)是一个自动化的Web应用程序安全测试工具 ...Authentication Tester: Web认证破解工具 Web Service S

    CCNA工程师认证考试官方教材

    1.5 认证目标1.05:上层协议 18 1.6 认证目标1.06:Cisco路由器、交换机 和集线器 18 1.7 认证目标1.07:配置Cisco交换机 和集线器 20 1.8 认证总结 20 1.9 2分钟练习 22 1.10 自我测试 23 第2章 从Cisco IOS软件...

    java实现HTTP 基本认证 (Basic Authentication)

    java实现HTTP 基本认证 (Basic Authentication) 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息。 但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用 HTTP 基本认证。 下面来看看一...

    HTTP协议详细解析

    HTTP协议详解 HTTP/1.0 (RFC1945) 根据基本的WEB需求,定义了请求/回应格式、媒体类型、用户认证等标准。无连接。 HTTP/1.1 (RFC2616 ) 打开密码aaa

    论文研究-基于身份的增强三方认证密钥协商协议.pdf

    现有的三方认证密钥协商协议安全性低且计算开销较大,提出一种基于身份的增强三方认证密钥协商协议。新协议在实现密钥协商基本安全属性的同时,利用短签名和时间戳技术进一步提高安全性。分析表明,增强协议能满足...

    The security protocols library digest 安全加密认证协议大全

    老师自己总结的,从老师哪里要来,基本涵盖了全部经典的安全认证协议如RPC X509 等等等等 讲解非常清楚 并将每个协议的缺陷以及改进措施都讲到了。推荐安全专业的同学可以用来做为快速手册用 英文的 但是用词简单

    CCNA工程师认证考试电子书.rar

    1.5 认证目标1.05:上层协议 18 1.6 认证目标1.06:Cisco路由器、交换机 和集线器 18 1.7 认证目标1.07:配置Cisco交换机 和集线器 20 1.8 认证总结 20 1.9 2分钟练习 22 1.10 自我测试 23 第2章 从Cisco IOS软件...

    lighauth:基于级别的简单认证协议

    它使用两个基本实体: 凭据 它有: - 键:字符串,唯一的。 - 令牌:字符串。 - 级别:字符串。 等级 它有: - 名称:字符串。 - 优先级:整数,大于或等于 1。 使用这两个实体,协议遵循以下流程: 场景:具有...

    Juniper 概念与范例 ScreenOS 参考指南 中文版带书签 Netscreen必看书籍

    第2 卷:基本原理 第3 卷:管理 第4 卷:攻击检测和防御机制 第5 卷:虚拟专用网 第6 卷:IP 语音协议 第7 卷:路由 第8 卷:地址转换 第9 卷:用户认证 第10 卷:虚拟系统 第11 卷:高可用性 第12 卷:WAN、DSL、拨号和无线 第...

    论文研究-可证明安全的基于RSA的远程用户口令认证协议.pdf

    身份认证是确保信息系统安全的基本手段,基于RSA的认证协议由于实用性较强而成为近期研究热点.讨论了Xie等提出的一个基于RSA的双因子远程用户认证协议,指出该协议不能抵抗...

    实验名称点到点协议PPP配置实验

    详细的锐扫PPP配置实验,对锐捷网络的学习很有用.欢迎下载使用

    wireshark各种网络协议抓包合集

    基本涵盖了各种常见协议的数据包,对于理解协议有很大的帮助。

    LDAP:轻量级目录访问协议

    LDAP 轻量级目录访问协议介绍了LDAP作为目前较普遍应用的访问媒介,介绍了基本概念和应用范围

    手机BQB蓝牙资格认证

    BQB认证 蓝牙特别兴趣组织(Bluetooth SIG)概述  蓝牙SIG组织的发起者包括Ericsson, Intel, Lenovo, Microsoft, Motorola, Nokia 和 Toshiba等在通讯领域、软件领域、计算机领域的领先企业,另外还包括几百家各个...

    CCNA工程师认证考试电子书

    1.5 认证目标1.05:上层协议 18 1.6 认证目标1.06:Cisco路由器、交换机 和集线器 18 1.7 认证目标1.07:配置Cisco交换机 和集线器 20 1.8 认证总结 20 1.9 2分钟练习 22 1.10 自我测试 23 第2章 从Cisco IOS软件...

    一种双层/双向认证的随机Hash锁RFID安全协议

    在分析已有Hash锁安全协议的执行过程及优缺点的基础上,提出了一种将双层认证与双向认证相结合的随机Hash锁安全协议,分析了协议的基本思想,描述了协议的执行过程,对协议的性能分析表明,该协议符合低成本、高效率...

    ccna学习指南 chinapub 高清版

    1.5 认证目标1.05:上层协议 18 1.6 认证目标1.06:Cisco路由器、交换机 和集线器 18 1.7 认证目标1.07:配置Cisco交换机 和集线器 20 1.8 认证总结 20 1.9 2分钟练习 22 1.10 自我测试 23 第2章 从Cisco ...

Global site tag (gtag.js) - Google Analytics