zoukankan      html  css  js  c++  java
  • HTTP basic 认证

    为了确保资源的非法访问,HTTP采用两种认证方式,一种为basic,另外一种为digest(摘要认证)。
    basic是最基本也是最简单的一种认证方式。认证的过程大概可分为以下几个步骤:
    1. 用户请求受保护的资源,例如:

    GET http://192.168.2.1/ HTTP/1.1 
    Accept: text/html, application/xhtml+xml, */* 
    Accept-Language: zh-CN 
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
    Accept-Encoding: gzip, deflate 
    Connection: Keep-Alive 
    Host: 192.168.2.1

    2. 服务端返回401未认证的错误

    HTTP/1.1 401 Unauthorized 
    Content-Type: text/html; charset=GB2312 
    Date: Wed, 28 Aug 2013 19:28:03 GMT 
    Last-Modified: Wed, 28 Aug 2013 19:28:03 GMT 
    Accept-Ranges: bytes 
    Connection: close 
    Cache-Control: no-cache,no-store 
    WWW-Authenticate: Basic realm="abcdalom.com" 
    
    <HTML> 
    <HEAD><TITLE>401 Unauthorized</TITLE></HEAD> 
    <BODY BGCOLOR="#FFFFFF" TEXT="#483D8B" LINK="#2020ff" VLINK="#4040cc"> 
    <H2>401 Unauthorized</H2>

    401错误的HTTP头部中都会带有WWW-Authenticate字段,其中指明了服务端支持的认证方式,一般为Basic(基本认证)和 Digest(摘要认证)两种可选值。在上文的回应中可见,服务端支持的认证方式为基本认证。

    3. 加入用户信息,重新发送请求
    需要在HTTP头部中加入Authorization字段,并显示指明认证方式(认证方式可由第2步获取),紧接着就是一个空格和BASE64编码的“用户名:密码”。例如用户名为admin,密码为12345,则请求头部如下所示,其中YWRtaW46MTIzNDU=为 “admin:12345”的base64编码值。

    GET http://192.168.2.1/ HTTP/1.1 
    Accept: text/html, application/xhtml+xml, */* 
    Accept-Language: zh-CN 
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
    Accept-Encoding: gzip, deflate 
    Connection: Keep-Alive 
    Authorization: Basic YWRtaW46MTIzNDU= 
    Host: 192.168.2.1


    4. 服务端验证用户信息是否合法,如果合法请返回用户请求的资源。否则依然回应401的错误。

  • 相关阅读:
    为何总是在无聊的事中浪费生命
    Objective-C Polymorphism
    [MONGODB]: WHEN ARBITER REQUIRED FOR REPLICA SET
    巴菲特已四度战胜股灾 称A股长期仍将向上(2015年09月14日)
    visual studio 2012 has stopped working
    [2015-04-17] 2015年的股市比2008年还危险……
    Using HiveServer2
    有了Hadoop MapReduce, 为什么还要Spark?
    HIVE: Map Join Vs Common Join, and SMB
    ORA-12170:TNS:连接超时
  • 原文地址:https://www.cnblogs.com/sprinng/p/6627155.html
Copyright © 2011-2022 走看看