[HTTP] 基本认证的工作流程
HTTP的基本认证涉及两个字段,一个是请求字段 Authorization;
Authorization: Basic xxx
一个是响应字段 WWW-Authenticate
WWW-Authenticate: Basic realm="xxx"
1. 当浏览器试图访问一个需要认证的资源时,请求报文将以正常形式发送;
2. 不过服务器会返回一个带有WWW-Authenticate字段的HTTP/1.1 401 Unauthorized响应报文,该报文有可能会携带实体,但一般浏览器不会渲染页面;
HTTP/1.1 401 Unauthorized
Server: nginx/1.9.9
Date: Sat, 17 Mar 2018 05:32:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.1
WWW-Authenticate: Basic realm="Git Server"
3. 浏览器收到报文后弹出用户密码框要求用户输入账号密码;
4. 用户输入账户密码确定后,请求报文再次发送,不过此时报文携带了 Authorization 字段,它携带了由用户刚才输入的账户密码(按照[用户:密码]的形式串联起来,再base64编码的字符串);
GET http://www.test1.com/test_19.php HTTP/1.1
Host: www.test1.com
Connection: keep-alive
Cache-Control: max-age=0
Authorization: Basic d2FuZzoxMjM0NTY=
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
5. 服务端收到报文,确定用户输入的认证是否正确,倘若正确返回的报文将会带有实体,若不正确,返回第2个步骤;
[HTTP] 基本认证的工作流程的更多相关文章
- SSL协议(HTTPS) 握手、工作流程详解(双向HTTPS流程)
原文地址:http://www.cnblogs.com/jifeng/archive/2010/11/30/1891779.html SSL协议的工作流程: 服务器认证阶段:1)客户端向服务器发送一个 ...
- ios NSURLSession(iOS7后,取代NSURLConnection)使用说明及后台工作流程分析
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意, ...
- OAuth2.0 工作流程
重要术语 Authorization Server:授权服务器,能够成功验证资源拥有者和获取授权,并在此之后分发令牌的服务器: Resource Server:资源服务器,存储用户的数据资源,能够 ...
- [信息安全] 3.HTTPS工作流程
[信息安全]系列博客:http://www.cnblogs.com/linianhui/category/985957.html 0. 简单回顾 在前面两篇博客中介绍了密码相关的一些基本工具,包括(对 ...
- OpenStack各组件逻辑关系、通信部署关系及工作流程
一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件 Compute 是 Nova:Imag ...
- ios NSURLSession使用说明及后台工作流程分析
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意, ...
- springmvc 运行原理 Spring ioc的实现原理 Mybatis工作流程 spring AOP实现原理
SpringMVC的工作原理图: SpringMVC流程 . 用户发送请求至前端控制器DispatcherServlet. . DispatcherServlet收到请求调用HandlerMappin ...
- shiro集成spring&工作流程&DelegatingFilterProxy
1.集成Spring 参考文献: 新建web工程: ehcache-core来自Hibernate wen.xml <?xml version="1.0" encoding= ...
- HTTPS协议工作流程
被问到了,复习一下HTTPS的工作流程 提到https,不得不提SSL SSL 1. 安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全 ...
随机推荐
- HTTP method constants
HTTP method constants ngx.HTTP_GET ngx.HTTP_HEAD ngx.HTTP_PUT ngx.HTTP_POST ngx.HTTP_DELETE ngx.HTTP ...
- Ganglia 入门介绍及解决fsockopen error: Connection refused问题
一,问题描述 Ganglia的各个组件安装情况(不是我装的,只知道这些信息): 集群一共有4台机器,分别是192.168.121.34-37.Gmetad.Gweb和httpd 安装在 192.168 ...
- Java入门系列 泛型
前言 <Java编程思想>第四版足足用了75页来讲泛型——厚厚的一沓内容,很容易让人头大——但其实根本不用这么多,只需要一句话:我是一个泛型队列,狗可以站进来,猫也可以站进来,但最好不要既 ...
- Android上禁止屏幕旋转
看网上讲了很多,设置很多属性,设置了很多,其实最关键的一点是这个 @Overrideprotected void onResume() { /** * 设置为横屏 */ if(getRequested ...
- MQTT学习笔记
因为工作需要,了解了一下MQTT.顺便记下来,现在还不会用. 一.概述 MQTT(Message Queuing Telemetyr Transport 消息队列遥测传输协议):基于发布/订阅(Pu ...
- Docker摘要
Docker https://www.docker.com/ 消除应用的依赖矩阵. 消除硬件依赖 和 软件依赖. Escape the app dependency matrix Eliminate ...
- Docker 添加环境系统文件配置
在 docker 启动文件添加默认环境系统配置 " /etc/default/docker ": 添加 Environment File 配置: # vi /usr/lib/sy ...
- CDH安装报错 Monitor-HostMonitor throttling_logger ERROR ntpq: ntpq -np: not synchronized to any server
1 没有安装ntp同步服务 所有机器统一时区,确认所有机器配置一致 vim /etc/sysconfig/clock ntp服务器配置 ln -sf /usr/share/zoneinfo/Asia ...
- MySql数据库学习笔记(2)
DELETE 语法:delete from 表名 [where condition] delete from grade; TRUNCATE 用于完全清空表数据,但表结构.索引.约束不变: 语法: t ...
- LR-Controller 如何自定义显示虚拟用户状态
我们压测时,如何直观,实时地查看当前运行账号和迭代情况呢. 在运行脚本中添加一行代码就解决了~~~~~~~~~~~