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. php判断手机客户端

    <?php // check if wap function check_wap(){ if(stristr($_SERVER['HTTP_VIA'],"wap")){// ...

  2. php上传漏洞获root权限

    首先用nmap检测一下目标网站的系统服务和一些端口banner的信息.   Nmap -v -sT -sV -O -P0 -oX test.xml ***.kr   21/tcp   open     ...

  3. 在执行migrate的时候出现问题(错误见末尾): django.db.utils.OperationalError: (1045, "Access denied for user ‘ODBC‘@‘localho st‘ (using password: YES)")

    Python框架之Django的数据库 在执行migrate的时候出现问题(错误见末尾) django.db.utils.OperationalError: (1045, "Access d ...

  4. Perforce查看workspace sync到的changlist

    一 查看workspace sync到的changelist perforce的workspace其实是一些特定版本的文件的 结合,相比只将workspace对应到某个特定的changelist,此方 ...

  5. C#动态调用webservice方法

    摘 自: http://www.hao5191.cn/a/chengxukaifa/c_/20130109/115819.html using System; using System.Collect ...

  6. mac osx加入全局启动terminal快捷键

    尽管有非常多第三方工具(Alfred.keyboad Maestro)能够设置全局启动terminal快捷键,但怎么感觉都不如native的好,呵呵.本文就使用mac 自带的Automator来创建一 ...

  7. FreeMarker最简单的例子(2)

    二.通过String来创建模版对象,并执行插值处理 代码: package com.abc; import freemarker.template.Template; import java.io.O ...

  8. 【JavaScript】ReactJS基础

    初探React,将我们的View标签化 前言 我之前喜欢玩一款游戏:全民飞机大战,而且有点痴迷其中,如果你想站在游戏的第一阶梯,便需要不断的练技术练装备,但是腾讯的游戏一般而言是有点恶心的,他会不断的 ...

  9. 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64

    在ORACLE用户下的定时器设置 [oracle@SHARKDB dbscripts]$ crontab -l# minute hour day month week15 1  * * 0  sh / ...

  10. 错误com.android.ddmlib.AdbCommandRejectedException

    错误com.android.ddmlib.AdbCommandRejectedException 学习了:https://blog.csdn.net/u014447072/article/detail ...