欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Nginx重启的简单命令
如何快速排除网络连接故障的六大步骤
利用USB无线上网卡实现手机和台机共享上网
无法配置此无线连接
交换机的工作原理详细介绍
视频服务器的工作原理以及应用情况
无线路由器无法登陆怎么办
无线网络WPA/WPA2密码破解资料教程
网络打印机如何添加?
解决图解路由无法登陆设置的方法
HTTP协议是什么?HTTP协议认证介绍
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  什么是HTTP基本认证

  桌面应用程序也通过HTTP协议跟Web服务器交互, 桌面应用程序一般不会使用cookie, 而是把 "用户名+冒号+密码"用BASE64算法加密后的字符串放在http request 中的header Authorization中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)

  当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码,如下图

HTTP协议是什么?HTTP协议认证介绍 三联

  假如用户名密码错误的话, 服务器会返回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/

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站