博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP basic 认证
阅读量:7087 次
发布时间:2019-06-28

本文共 1312 字,大约阅读时间需要 4 分钟。

为了确保资源的非法访问,HTTP采用两种认证方式,一种为basic,另外一种为digest(摘要认证)。

basic是最基本也是最简单的一种认证方式。认证的过程大概可分为以下几个步骤:
1. 用户请求受保护的资源,例如:

GET http://192.168.2.1/ HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh-CN User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: 192.168.2.1

2. 服务端返回401未认证的错误

HTTP/1.1 401 Unauthorized Content-Type: text/html; charset=GB2312 Date: Wed, 28 Aug 2013 19:28:03 GMT Last-Modified: Wed, 28 Aug 2013 19:28:03 GMT Accept-Ranges: bytes Connection: close Cache-Control: no-cache,no-store WWW-Authenticate: Basic realm="abcdalom.com"  401 Unauthorized  

401 Unauthorized

401错误的HTTP头部中都会带有WWW-Authenticate字段,其中指明了服务端支持的认证方式,一般为Basic(基本认证)和 Digest(摘要认证)两种可选值。在上文的回应中可见,服务端支持的认证方式为基本认证。

3. 加入用户信息,重新发送请求

需要在HTTP头部中加入Authorization字段,并显示指明认证方式(认证方式可由第2步获取),紧接着就是一个空格和BASE64编码的“用户名:密码”。例如用户名为admin,密码为12345,则请求头部如下所示,其中YWRtaW46MTIzNDU=为 “admin:12345”的base64编码值。

GET http://192.168.2.1/ HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh-CN User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Accept-Encoding: gzip, deflate Connection: Keep-Alive Authorization: Basic YWRtaW46MTIzNDU= Host: 192.168.2.1

4. 服务端验证用户信息是否合法,如果合法请返回用户请求的资源。否则依然回应401的错误。

 

转载地址:http://lxgml.baihongyu.com/

你可能感兴趣的文章
【转】oracle connect by用法
查看>>
android Animation 动画绘制逻辑
查看>>
Ubuntu 12.04安装和设置SSH服务
查看>>
[转]重入和不可重入函数概念浅析
查看>>
实验四 主存空间的分配和回收
查看>>
scala mysql jdbc oper
查看>>
浅谈分支预测、流水线与条件转移(转载)
查看>>
前端技能树
查看>>
【软件工程】02组软件工程组队项目——课程管理小助手需求文档
查看>>
java面试每日一题8
查看>>
leetcode Majority Element
查看>>
UISprite(NGUI)扩展 图片镂空
查看>>
只是一段听力练习:金凯瑞致伊斯特伍德
查看>>
求第五个人多大岁数
查看>>
mybatis什么时候用resulttype 什么时候用resultmap
查看>>
去除sql的前后半角全角空格
查看>>
iview表单密码自定义验证
查看>>
[SinGuLaRiTy] 组合数学题目复习
查看>>
Android中SQLite使用
查看>>
NAND结构与驱动
查看>>