HTTP的询问/应答机制

如下图:

一个实例的图:

1.客户端请求资源

2.服务器对用户进行询问,在WWW-Authenticate首部中指明在哪里,如何进行认证

3.客户端会在Authentication首部附上用户名,密码及其他信息

4.认证完成,服务器发送200响应码;可能还会有Authentication-Info首部一起返回。

realm:这个参数是安全域。受保护的资源往往会以安全域的形式存在,一个服务器往往有多个安全域。通过该参数,用户可以清楚自己所访问的是哪个域中的资源。

基本认证

Basic是最为普遍的认证机制。

用户进行资源请求之后,服务器会返回一个401状态码和WWW-Authente首部,首部中指明了安全域;

然后用户发送包含Authentication首部的报文,其中包含该域的用户名和密码。

拓展:用户名和密码会被浏览器用“:”间隔起来并用base64进行编码,之后再放到Authentication首部中发送到server。

使用代理服务器进行认证

python实现base64

>>> b = b64encode(a)
>>> b
b'bGVvOjk5OQ=='
>>> from base64 import b64decode
>>> b64decode(b)
b'leo:999'

基本认证的优点是简单但是缺点也是简单,他并不安全,因此在需要认证时,会采用将SSL+基本认证或者摘要认证的方式。

摘要认证

安全的HTTP

目前流行的HTTP安全机制为基本认证+SSL/TLS组合的解决方案。

SSL:安全套接字层

TLS:传输层安全,是SSL的升级版

数字加密

密码:对文本进行编码,使偷窥者无法识别的算法

秘钥:改变密码行为的数字化参数

对称秘钥加密:编码/解码使用相同的秘钥算法

非对称秘钥加密:编码/解码使用不同的秘钥算法

公开秘钥加密:一种能使百万计算机便捷的发送机密报文的系统

数字签名:用来验证报文未被修改或者伪造的校验和

数字证书:由一个可信的组织验证和签发的识别信息

明文:原始的报文(plaintext/cleartext)

密文:加密的报文(ciphertext)

密码机需要正确的密码参数才能算出正确的报文。这里,密码参数就是秘钥。

公共秘钥加密系统最为著名要数RSA了,由MIT发明的一套系统。

公共秘钥加密系统性能没有对称秘钥加密系统来的快,所以有了混合加密系统

先通过公共秘钥加密系统建立安全的通道,之后再采用对称加密系统来传输数据。

HTTP认证机制的更多相关文章

  1. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

  2. WPS 认证机制

    WPS 认证机制 WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)(有的叫做AOSS.有的叫做QSS,不过功能都一致.)是由Wi-Fi联盟组织实施的认证项目,主要致力于简化无线 ...

  3. 基于Token的WEB后台认证机制

    几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RES ...

  4. HTTP中的摘要认证机制

    引子: 指定和服务器端交互的HTTP方法,URL地址,即其他请求信息: Method:表示http请求方法,一般使用"GET","POST". url:表示请求 ...

  5. USB Type-C 应用面临安全性考验,USB-IF 将推动新认证机制

    USB 应用已经达到空前盛况,横跨电脑.移动设备.周边设备.影音器材等范畴,是一个极为普遍常见的界面.进入 USB Type-C 世代由于一并推动 USB-PD,过去没有严格执行的认证要求,基于安全性 ...

  6. 一个NB的安全认证机制

    这是一个NB的安全认证机制. 1.这是一个安全认证机制 2.可以防止黑客截获到客户端发送的请求消息,避免了黑客冒充客户端向服务器发送操作的请求. 原理与步骤: 1.客户端与服务器端都会放着一份验证用的 ...

  7. 【pac4j】OAuth 认证机制 入门篇

    1,pac4j是什么? pac4j是一个支持多种支持多种协议的身份认证的Java客户端. 2,pac4j的12种客户端认证机制:目前我只有用过第一和第八种. OAuth (1.0 & 2.0) ...

  8. web安全认证机制知多少

    如今web服务随处可见,成千上万的web程序被部署到公网上供用户访问,有些系统只针对指定用户开放,属于安全级别较高的web应用,他们需要有一种认证机制以保护系统资源的安全,本文将探讨五种常用的认证机制 ...

  9. (golang)HTTP基本认证机制及使用gocolly登录爬取

    内网有个网页用了HTTP基本认证机制,想用gocolly爬取,不知道怎么登录,只好研究HTTP基本认证机制 参考这里:https://www.jb51.net/article/89070.htm 下面 ...

  10. Android 怎样开启与关闭adb 的认证机制(google adb secure) (adb RSA 指纹认证)

    前言         欢迎大家我分享和推荐好用的代码段~~声明         欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net           ...

随机推荐

  1. oracle 察看用户是否被锁,解锁以及改密码

     以管理员身份登陆 察看用户状态(是否被锁) select * from dba_users where username='user1' 解锁 ALTER USER user1 ACCOUNT UN ...

  2. appium+python自动化45-夜神模拟器连不上(adb server version (36) doesn't match this client (39); killing...)

    前言 最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn't match this client (39); ki ...

  3. fmri 实验设计 / 范式设计/ paradigm design

    reference:http://www.psychology.gatech.edu/cabi/Resources/Course/index.html sluggish 懒散的,无精打采的.哈哈,pp ...

  4. Kubernetes应用迁移问题定位

    这个帖子记录所有的应用迁移中遇到的问题. 关于镜像无法启动后无法定位问题 在原有的Dockerfile中修改,加入 RUN echo "aaa" > /etc/a.log C ...

  5. python编码规范、js编码规范及IDE的检查插件pylint/eslint等

    一.python规范 参考:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/的风格规范和语 ...

  6. java/eclipse/myeclipse建立.properties文件的方法

      相比较来说,Java程序的编写相对简单很多,多数文件都可以通过编写文本文件生成!     对于不用IDE的java程序来讲,只需要右键新建>文本文件,建立好以后写好代码,另存为xx.prop ...

  7. delphi VCL研究之消息分发机制-delphi高手突破读书笔记

    1.VCL 概貌 先看一下VCL类图的主要分支,如图4.1所示.在图中可以看到,TObject是VCL的祖先类,这也是Object Pascal语言所规定的.但实际上,TObject以及TObject ...

  8. python wheel 包命名规则和 abi 兼容

    wheel 包的命名规定 wheel 包的命名格式为 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform ...

  9. MFC【17-2】线程和线程同步化

    17-2线程同步 Windows支持4中类型的同步对象,可以用过来同步由并发运行的线程执行的操作: 临界区 互斥量 事件 信号量 MFC在名为CCriticalSection\CMutex\CEven ...

  10. Android 常见内存泄漏的解决方式

    在Android程序开发中.当一个对象已经不须要再使用了,本该被回收时.而另外一个正在使用的对象持有它的引用从而导致它不能被回收.这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了. ...