zoukankan      html  css  js  c++  java
  • 《http权威指南》读书笔记11

    概述

    最近对http很感兴趣,于是开始看《http权威指南》。别人都说这本书有点老了,而且内容太多。我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做。于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用。

    基本认证机制

    1.http提供了一个原生的质询/响应框架,简化了对用户的认证过程。web应用程序收到一条http请求报文时,服务器没有按照请求执行动作,而是以一个“认证质询”进行响应,要求用户提供一些保密信息来说明他是谁,从而对其进行质询。用户再次发起请求时,要附上保密证书(用户名和密码)。如果证书不匹配,服务器可以再次质询客户端,或产生一条错误信息。如果证书匹配,就可以正常完成请求了。

    2.http定义了两个官方的认证协议:基本认证摘要认证。今后人们可以随意涉及一些使用http质询/响应框架的新协议。

    3.WWW-Authenticate质询中包含一个realm指令,表示一个安全域,每个安全域都可以有不同的授权用户集。

    4.基本认证:服务器会拒绝一个事务,并返回401状态码,而不是200状态码来初始化认证质询,并用WWW-Authenticate响应首部指定要访问的安全域。浏览器收到质询时,会打开一个对话框,请求用户输入这个域的用户名和密码。然后将用户名和密码稍加扰码,再用Authentication请求首部回送给服务器。

    5.http基本认证将(由冒号分隔的)用户名和密码打包在一起,并用Base-64编码方式对其进行编码。

    6.中间的代理服务器也可以实现认证功能。通过代理服务器提供对某组织内部资源的统一访问控制是一种很便捷的方式。

    7.基本认证的缺陷

    • 基本认证会通过网络发送用户名和密码,这些用户名和密码都是以一种很容易解码的形式表示的。
    • 即使密码是以更难解码的方式加密,第三方用户仍然可以捕获被修改过的用户名和密码,并将修改过的用户名和密码一次一次地重放给原始服务器。
    • 即使将基本认证用于一些不太重要的应用程序,一些不良习惯也会让它变得很危险。比如很多用户都会使用相同的用户名和密码,黑客就可以从基本认证获取用户名和密码,然后发现可以用它们来访问重要的在线银行网站。
    • 基本认证没有提供针对代理的防护措施。
    • 假冒服务器很容易骗过基本认证。

    8.即使如此,基本认证还是有用武之地的,比如在公司内网实行权限控制;或者将基本认证与SSL配合使用,隐藏用户名和密码,会使基本认证变得更加安全。

  • 相关阅读:
    memcache和memcached区别
    C++成员函数指针错误用法警示(成员函数指针与高性能的C++委托,三篇),附好多评论
    高手问答精选:Go 语言 —— 云计算时代的 C 语言(类似于一个FAQ)
    Delphi XE5 Android 调用手机震动(通过JObject测试是否支持震动)
    Delphi Android 将Google ZXing 整合(调用Jar文件)
    Delphi Android ActivityManager(提供了接口, 利用它可以方便的对Memory, Processes, Task, Service 等进行管)
    Azure 云 Web 应用程序
    C#由变量捕获引起对闭包
    React.js学习
    Web API
  • 原文地址:https://www.cnblogs.com/yangzhou33/p/9271429.html
Copyright © 2011-2022 走看看