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 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)

    Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决 [oracle@rac01 ~]$ sqlplus /nolog SQL*P ...

  2. 在 Ubuntu 14.04 上安装 Ubuntu Tweak 0.8.8

    转自:http://linux.cn/article-3335-1.html 关于 Ubuntu Tweak,Ubuntu 老用户再熟悉不过了,Ubuntu tweak 相当于 windows 的优化 ...

  3. [Git] 给git命令起别名

    转载自:http://blog.csdn.net/qinjienj/article/details/7479886 程序员都是"懒惰"的,哪怕是执行一个命令的时候少敲了一个字母也感 ...

  4. 配置Node Manager启动同一机器的两个域

    进入/u01/FMW_Home/weblogic/wlserver_10.3/server/bin目录,在需要配置的节点上启动node manager,以weblogic用户登录 c d /u01/F ...

  5. [转]SSIS: Execute Package via Stored Procedure

    本文转自:http://sqlblog.de/blog/2009/09/ssis-execute-package-via-stored-procedure/ There are two options ...

  6. JS 图片转Base64

    JS 图片转Base64 有时候需要向HTML中插入一张图片,可苦于上线后找不到一个合适的网盘来存储这些图片,有没有一种办法能将图片转换成文字,然后直接插入HTML中呢,通过Base64编码就可以解决 ...

  7. 转:让kindle更好的支持pdf

    http://vislab.bjmu.edu.cn/blog/hwangxin/2012/10/read-scanned-pdfs-with-kindlepdfviewer/

  8. [Algorithom] Shuffle an array

    Shuffling is a common process used with randomizing the order for a deck of cards. The key property ...

  9. Linux内核project导论——linux学习和职业曲线(刚開始学习的人,中级,高级都可參考)

    Linux世界介绍 给自己定级 门外汉: 不会安装操作系统 不会用虚拟机(安装和使用) 入门级: 熟悉常见的发行版,甚至装过而且能用一些特殊发行版(比如kali)做过一些简单的图形界面的使用. 会一些 ...

  10. automake连载--Linux下使用automake入门

    http://blog.csdn.net/shanzhizi/article/details/30246587 近来重要要总结一下automake的用法了,连载几篇网上已有的文章,以供参考. 作为Li ...